Имея трудное понимание $ watch. Я использую его с таймером, чтобы увеличить значение - попытка запросить пользователя через пять секунд, если они хотят продолжить. Если они выбирают «Отмена», таймер прекращает подсчет.
Fiddle здесь: http://jsfiddle.net/nicktest222/VuuEK/4/
// Increment with $timeout
$scope.counter = 0;
$scope.onTimeout = function() {
$scope.counter++;
mytimeout = $timeout($scope.onTimeout, 1000);
};
var mytimeout = $timeout($scope.onTimeout, 1000);
// Watch
$scope.$watch($scope.counter, checkTime);
function checkTime() {
console.log($scope.counter);
if ($scope.counter === 5) {
var check = confirm('Do you want to continue?');
if (check === false) {
$scope.stop();
}
}
}
Функция срабатывает checkTime раз при загрузке страницы, я надеялся, что это будет стрелять каждый прирост в качестве переменной $ scope.counter меняется каждую секунду.
haaaa! Удивительно, спасибо! – Nick