我正在开发一个使用Ionic框架的应用程序,并且有多个视图。路线名称是app.view1和app.view2。我使用$state.go("app.view2")
转换到下一个视图--控制器,当我单击back时,不再执行app.view1的控制器,这在我的应用程序中非常重要。
请告诉我如何使控制器执行时,我路由到它。
发布于 2015-06-23 03:44:20
离子缓存查看更快的性能。它使用了ng-router
的特性。
离子将缓存最多10个视图,这不仅可以配置,而且应用程序也可以明确声明哪些视图应该缓存,哪些视图不应该缓存。
http://ionicframework.com/docs/api/directive/ionNavView/
解决这一问题有多种方法。
选项1
如果希望控制器每次显示视图时执行,则可以禁用该特定路由的缓存。
$stateProvider.state('myState', {
cache: false,
url : '/myUrl',
templateUrl : 'my-template.html'
})
或
<ion-view cache-view="false" view-title="My Title!">
...
</ion-view>
选项2
可以禁用所有视图的缓存。甚至控制视图的数量。我不知道这对你是否有用。
$ionicConfigProvider.views.maxCache(0);
选项3
我最喜欢的。您可以使用$ionicView.enter
事件。这保证了视图时需要执行的代码将被执行。因此,您可以区分代码应该执行一次和每次。我想这会对业绩产生积极的影响。
使用
$scope.$on('$ionicView.enter', function(){
// Coding
});
祝你好运,编码愉快!
https://stackoverflow.com/questions/30991990
复制相似问题