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