我是Angular.js的新手,我在维护视图中的JSON Feed值方面遇到了问题。 我正在使用不同的路由器,当我启动应用程序时,它会加载home.html,然后调用homeCtrl并进行HTTP调用并使用ng-repeat绑定数据(在home.html中)。如果用户单击列表项以将其带到detail.html(详细信息页面类型)。
现在我遇到的问题是,在详细页面上,当用户选中后退按钮时 - 应用程序转到home.html,homeCtrl再次点击web服务并再次绑定整个数据。我认为这是不受欢迎的,因为第一次加载页面时已经收集了JSON数据。
当用户在不同视图之间向后移动时,如何保留旧数据,这样我就不需要反复拨打同一个电话。
谢谢,对不起,如果这是非常基本的东西。
答案 0 :(得分:0)
当用户在两者之间移动时,如何保留旧数据 不同的观点,所以我不需要一遍又一遍地打同一个电话。
如果您使用$http
服务发出请求,请使用cache: true
选项使用默认角度缓存,如文档中所述:https://docs.angularjs.org/api/ng/service/$http#caching
这是一个例子:
$http.get(url, { cache: true}).then(...);
您还可以通过$cacheFactory
服务定义自定义缓存对象:https://docs.angularjs.org/api/ng/service/$cacheFactory
如果您想要更完整的过期,尺寸限制和其他很酷的东西,请尝试angular-cache
:https://github.com/jmdobry/angular-cache
答案 1 :(得分:0)
您好我认为您需要的是创建工厂或服务;因此控制器以这种方式在它们之间共享数据。 Here's an example