0
我M的定义使用的UI路由器我的应用程序状态:控制器生命周期角度
$stateProvider
.state('app', {
abstract: true,
views: {
'[email protected]': {
templateUrl: 'app/navbar.html',
controller: 'NavbarController',
controllerAs: 'vm'
},
'[email protected]': {
template: '<div ui-view></div>'
}
}
})
.state('child1', {
url: '/child1',
parent: 'app',
templateUrl: 'app/child1.html',
controller: function($timeout) {
$timeout(function() {
alert('from child_1');
}, 15000)
},
controllerAs: 'vm'
})
.state('child2', {
url: '/child2',
parent: 'app',
templateUrl: 'app/child2.html',
controller: 'ctrl_2',
controllerAs: 'vm'
})
当我去从/child1
到/child2
快速(前15000毫秒),我仍然看到了警报在child1
控制器中定义,这是一个正常的行为?
你是什么意思? –
@GauravSrivastava我的意思是在5秒之前,这是'child1'控制器中'$ timeout'函数的第2个参数。 – Mahmoud
超时一定会奏效。虽然角度服务在那里,但它是一个窗口事件。你需要清除超时范围销毁事件 – murli2308