Closed CommanderXL closed 8 years ago
@CommanderXL 看这个Issue https://github.com/zhaoda/spa/issues/22
@zhaoda 使用 $doc.trigger('spa:viewcachecount', {count: 2}); 当view达到2个后就报错了! cleanupcache[cleanupkey].html('').remove(); Uncaught TypeError: Cannot read property 'html' of undefined
@nicklao 你用的DOM库是jQuery还是Zepto,什么版本?
@nicklao 我在 ~/docs 里增加了设置页面缓存的事例,测试没有问题,spa.js 也增加不能设置缓存数量为1的容错。https://github.com/zhaoda/spa/commit/5f3ca3e03114527394b39e330956edd7fe2a3082
我用的是 jq 3.x 版本的
jQuery 3.x 是最新的版本,我没测试过兼容问题,先换成 2.x 版本试试吧
用回jQ 2.x 后,还是报了一样的错。这应该和JQ没关系了。和你的DEMO不同的是,我的路由配置上有要带参数的,会否有影响呢?
只要是从这路由回退(goBack)的话,就会报那error了
@nicklao 等我明天看看吧,我们之前的项目设置这个问题,但是中间又经过了一些修复,也可能造成了bug,你也空也可以debug一下spa的源代码看看。
@zhaoda 找到bug所在了, cleanupsplit = value.split(':', 2) 以":"分号作为分割的话,如果遇上:keyword会有“:”分号的话,就像我路由传参的一样,参数就会被split了,这里应该修改为,只split第一个“:”便可解决了!
@zhaoda ok, fix了!是能清view dom上的资源。 如果能把对应的 module 里的 object 引用也清了,回收内存就更好了!呵呵呵!
@nicklao 你的想法不错,欢迎一起来维护SPA,提交PR。
你好,我看整个framework在进行视图切换的会异步加载相应的视图资源文件。
然后生成DOM结构插入到页面当中,然后进行页面的切换。我看整个的页面当中,一旦新页面插入到页面当中后,是不被销毁的。如果页面一旦多起来,那么数据管理有什么好的方式去实现呢?