我需要在离开控制器后开始时间,如果在5秒内回来,则取消它。毁灭工作和计时器开始。但如果我回来,计时器仍将运行并将打印其消息。
app.controller('MyCtrl', function($scope, $timeout) {
var timer;
$scope.$on("$destroy", function() {
timer = $timeout(function () {
console.log('timer works on destroy')
localStorage.removeItem('transaction')
},5000)
});
$scope.$on('$viewContentLoaded', function () {
$timeout.cancel(timer);
});
})
转到控制器(页面)时,您能帮助找到我做错的地方或取消超时的其他方法。