如何实现延迟加载

我从index页面的链接跳转到另一个view页面时,view加载数据给cgridview需要比较长的时间,这样导致view页面迟迟打不开,用户长时间停留在index页面,用户体验不好。

想问一下,如何让加载数据的行为延迟反生,从而实现cgridview的延迟显示

ajax加载cgridView :D

仅供参考 如果要做到效率估计要重写CGridView的实现 或者用假数据提供者(第一次在非ajax请求时用CArrayDataProvider ajax请求时在用真的) 思路仅供参考

非常感谢,已经实现了!

用’template’=> Yii::app()->request->getIsAjaxRequest()? ‘{items}’: ''这种方式貌似不行。

最后还是在view页面发起一个ajax异步调用,在controller中需要将actionView的数据获取部分剥离开来形成一个新的action给ajax调用。因为我是用缓存的,只要加载一次就会从缓存获取,这样view就不需要再获取ajax返回的具体数据并解析了,只要调用一次就行。后面就交给actionView剩下的代码,判断缓存是否生成,有的话就加载缓存,不然就是空数组。