我一直在试图理解这一点,在许多网站搜索。这是我想要实现的目标。在AngularJS中,我已经实现了路由、视图和控制器。一切都很好。但是我想重用视图,一旦加载,即存储和从客户端检索,当我第二次访问它。
象下面这样步骤1:
view1——从web服务器获取到客户端
ctrl1——从web服务器获取到客户端
步骤2view2——从web服务器获取到客户端
ctrl2——从web服务器获取到客户端
step3(返回到view1)
view1——从浏览器本身获得。(这应该不会击中web服务器)
ctrl1——从浏览器本身获得。(这应该不会击中web服务器)
我们需要在angularjs中使用存储空间吗?如果有,怎么做?
你不需要这样做,angular默认实现了$templateCache
(见这里)。模板仅在第一次从服务器请求,后续调用来自$templateCache
。
您可以使用$templateCache
来存储从服务器加载后的模板。然后,当导航到视图时,您可以检查缓存以查看它是否存在。如果有,从那里加载。如果没有,则从服务器加载。这是$templateCache
的文件。https://docs.angularjs.org/api/ng/service/美元templateCache
这也是一个关于$templateCache
及其用法的很好的教程。https://thinkster.io/templatecache-tutorial
可以像下面的代码一样简单来存储你的模板
.run(function ($templateCache){
$templateCache.put('test.html', 'Hello {{ test.user.name }}!');
});
可以通过
访问$templateCache.get('test.html')
至于控制器,它们应该被浏览器缓存,除非你明确地告诉它不要缓存你的脚本文件。