我目前正在开发一个包含多个模块的angularjs应用程序。每个模块都有自己的模板和控制器。 让我们说appModule,contactModule和aboutModule。
我目前正在使用基于网址的ng-switch在屏幕之间导航。问题是每次都在屏幕之间切换我的控制器被重新初始化并正在进行服务调用以获取数据。我只想在第一次进入该屏幕时获取数据。
基本上,我想知道我是否在正确的道路上,或者使用routeProvider有更好的方法吗?
答案 0 :(得分:0)
有几种方法可以解决这个问题:
使用$ resource和http-cache缓存get请求。
将数据提取委托给服务或工厂,并将响应存储在该服务中,将其注入控制器并使用存储的响应数据绑定到属性。
使用ng-show / ng-hide代替切换,以便控制器保持实例化。
在ui-router exras https://christopherthielen.github.io/ui-router-extras/#/home