Есть ли способ добавить тайм-аут в функцию наблюдения AngularJS $?
Например, допустим, у меня есть приведенный ниже код AngularJS, который просматривает значение, myName .Когда значение изменяется, функция слушателя запускается.Но если значение не меняется в течение определенного периода времени, я хочу, чтобы оно делало что-то еще.
В частности, в приведенном ниже коде я бы хотел, чтобы $ scope.nothingEnteredFlag изменилось с false на true.Мой HTML-шаблон должен быть настроен на отображение состояния этого флага (например, с помощью ng-show).
var app = angular.module("helloApp", []);
app.controller("helloCtrl", function($scope) {
$scope.nothingEnteredFlag=false;
$scope.$watch("myName", function (newValue, oldValue) {
if ($scope.myName.length < 5) {
$scope.message = "Short name!";
} else {
$scope.message = "Long name!";
}
});
});
См. fiddle .
Я пробовалокружая $ watch $ timeout, но не могу заставить его работать.