保持角度视图中的值

时间:2014-11-26 16:36:25

标签: angularjs angularjs-directive

我是Angular.js的新手,我在维护视图中的JSON Feed值方面遇到了问题。 我正在使用不同的路由器,当我启动应用程序时,它会加载home.html,然后调用homeCtrl并进行HTTP调用并使用ng-repeat绑定数据(在home.html中)。如果用户单击列表项以将其带到detail.html(详细信息页面类型)。

现在我遇到的问题是,在详细页面上,当用户选中后退按钮时 - 应用程序转到home.html,homeCtrl再次点击web服务并再次绑定整个数据。我认为这是不受欢迎的,因为第一次加载页面时已经收集了JSON数据。

当用户在不同视图之间向后移动时,如何保留旧数据,这样我就不需要反复拨打同一个电话。

谢谢,对不起,如果这是非常基本的东西。

2 个答案:

答案 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-cachehttps://github.com/jmdobry/angular-cache

答案 1 :(得分:0)

您好我认为您需要的是创建工厂或服务;因此控制器以这种方式在它们之间共享数据。 Here's an example