使用以下代码,当第一次加载id=0
的页面时,控制器没有问题。但是,当同一页面再次加载相同的id=0
时,它不会加载控制器。
$state.go('tab.dash', {
id: $rootScope.products[CONSTANTS.i].id
}, {
reload: true
});
它是如何发生的?请给我一个解决方案。
答案 0 :(得分:3)
我遇到了类似的问题,我每次访问标签时都需要重新计算统计数据。
您需要禁用视图缓存。您可以在路径设置中执行此操作。例如:
.state('tab.stats', {
url: '/stats',
views: {
'tab-stats': {
templateUrl: 'templates/tab-stats.html',
controller: 'StatsCtrl'
}
},
cache: false
})
答案 1 :(得分:0)
好吧,当您缓存视图时(默认情况下为true),控制器仅在第一次加载时,在后续导航中它将附加和分离范围。缓存有助于提高单页应用程序的性能。如果您不想禁用缓存,则使用离子视图事件,如(输入,离开,加载等)。
$scope.$on('$ionicView.enter', function () {
// ur stuff in here....
});