У нас есть директива атрибута myCustomHandler:
<input type="text" my-custom-handler ng-model="myModel">
Упрощенная версия директивы выглядит так:
.directive('myCustomHandler', function () {
return {
require: 'ngModel',
link: function (scope, elem, attrs) {
scope.change = function(){
console.log('model changed');
}
}
}});
Мне нужен способ обработки события ng-change в директиве (функция триггера scope.change()).
Причина, по которой я специально попросил ng-change, заключается в том, что мой ввод - это тип = текст, и мне нужно обрабатывать каждую клавишу. Кроме того, при обработке изменений мне также нужны старые и новые значения (поэтому я предпочитаю избегать подходов jQuery).
Я уже рассматривал возможность использования $watch для модели, но это не сработает, потому что мне нужно обрабатывать событие только в том случае, если модель изменена пользователем.
Спасибо!