使用angular做移动端APP该如何做页面缓存?

DeLast 发布于 2016/09/05 18:31
阅读 898
收藏 0
本人前端新人,目前正在使用angular开发移动端web app,遇到了这么一个问题:


某个模板页面使用了ng-bind绑定了控制器下若干条数据,因此每次切换到这个页面的时候浏览器都要重新遍历一次控制器scope的所有内容,把对应的数据逐个显示在页面上。假设每显示一条数据需要用到40ms,如果有20条数据,那切换到这个页面所需要的时间就是800ms!这显然是无法接受的,而且我还没把执行控制器里的所有代码所用到的时间算上去!

通过我对市面上的各种移动端单页应用的观察,发现它们都能做到这样:

用户在页面A上通过一系列操作加载了足够多的数据(比如手指上滑底部加载更多图片),然后切换到页面B,再切回来页面A,页面A很快就能打开并且刚才加载过的内容马上就能显示出来。

而我的情况就是第二次切回页面A却跟第一次去页面A一样,控制器的代码全部都读一遍,页面元素重新绑定数据,渲染,之前加载过的内容等于是全部没有加载过。我相信一定有人遇到过相同的问题,而且应该有比较普遍的解决方案,百度了很多关键字都没办法找到我想要的答案,所以在这把问题描述清楚一些,希望可以从各位前辈们这里获取一些建议。

加载中
0
a
aboo
切回A页面可以用UI控制的话,就调用window.history.back()
,其相当于浏览器的回退,一般会缓存的
DeLast
DeLast
唔.....原来如此。非常感谢!我这就去试试
1
张亦俊
张亦俊

简单的数据localStorage

复杂的,IndexedDB或者Web SQL Database

DeLast
DeLast
其实我是有用localStorage存储数据的,问题是,在页面上每显示一条绑定的模型数据都需要花费一定的时间,因为需求关系我这个页面不得不绑定很多条,这就使得我每次进入这个页面都要等好久(大概1秒左右)...或者说像这种情形我应该换种方式显示数据,不要再用angular的双向绑定?