如何在每次导航到相应的视图/状态时重新运行控制器?

时间:2015-10-28 07:02:05

标签: angularjs ionic-framework ionic

我有一个与控制器相关联的视图:

<div ng-controller="myController">
  ...
</div>

控制器:

app.controller('myController', ['$scope',
  // Some code here that calls a webservice and updates the scope
]);

当控制器最初运行时,它会调用webservice,返回数据并将其绑定到范围。它很棒。但是,当我使用ui-sref$state.go()导航到另一个视图/状态并将返回导航到此视图时,控制器不会再次调用Web服务。

有没有办法确保每次状态落在这个视图和控制器上时,控制器会重新运行呢?

1 个答案:

答案 0 :(得分:1)

默认情况下,Ionic会缓存视图和控制器执行以提高性能。您可以使用cache: false禁用它:

$stateProvider.state('myState', {
   cache: false,
   url : '/myUrl',
   templateUrl : 'my-template.html'
});

或者您可以使用ui-sref-opts How to put reload option in ui-sref markup

在网址级别停用它

请参阅Caching文档。