Javascript-форум (https://javascript.ru/forum/)
-   Angular.js (https://javascript.ru/forum/angular/)
-   -   события в директиве (https://javascript.ru/forum/angular/49474-sobytiya-v-direktive.html)

dtzscln 14.08.2014 16:59

события в директиве
 
Элементарная задача: сделать валидацию поля только после blur-события:
app.directive("q", function () {
	return {
		require: "ngModel",
		link: function ($scope, elem, attrs, ctrl) {
			elem.on('blur', function(event) {
				ctrl.$parsers.unshift(function(val) {
					if (val == 'ololo') {
						ctrl.$setValidity("q", false);
						return undefined;
					} else {...}
				});
			});
		}
	};
});


Функция, добавленная в ctrl.$parsers никогда не отрабатвает. Подозреваю, что это из-за того, что коллбек, навешаный на blur отрабатывает не в "основном цикле приложения" или как-то так. Вызов таинственных apply и digest не помогли.
Как же заставить работать эту адскую машину?


Часовой пояс GMT +3, время: 20:54.