我是AngularJS社区的新手,我正在使用此框架开发我的第一个应用程序。
我使用以下代码创建了一个新控制器:
.controller('AccountCtrl', function($scope, $location) {
alert('test');
})
我的路线:
.state('app.account', {
url: "/account",
views: {
'menuContent': {
templateUrl: "templates/account.html",
controller: 'AccountCtrl'
}
}
})
首次访问控制器时会显示警告弹出窗口。但是,如果我更改URL并返回到AccountCtrl(使用经典的html a),则不再显示警报弹出窗口。
有人可以向我解释原因吗?
Thanx为你提供帮助!
答案 0 :(得分:1)
每次在ui路由器中重新加载Controller,在.state上使用reload: true
选项
$stateProvider
.state('app.account', {
url: "/account",
reload: true //forcefully reload route and load controller again
})
答案 1 :(得分:1)
在Ionic Framework中,默认情况下将缓存视图和控制器。您可以向视图范围添加侦听器,以便在视图重新处于活动状态时接收通知。有关详细信息,请参阅:http://ionicframework.com/docs/api/directive/ionView/ 和http://ionicframework.com/docs/api/directive/ionNavView/
您还可以在视图<ion-view cache-view="false">
.controller('AccountCtrl', function($scope, $location) {
$scope.$on('$ionicView.beforeEnter', function () {
// update campaigns everytime the view becomes active
// (on first time added to DOM and after the view becomes active after cached
alert('test');
});
})`