Установка controller.$options
в функции link
, похоже, работает для устранения событий blur :
controller.$options = {
updateOn : 'blur',
debounce : 3000
};
... но если я попробую то же самое для событий default , модель никогда не обновится:
controller.$options = {
updateOn : 'default',
debounce : 3000
};
При использовании вместо этого директивы ng-model-options
все работает должным образом.
См. http://plnkr.co/edit/KLrSrs2Jw7pkoAUNRJDf?p=preview.
2 ответа
Глядя на источник директивы ngModelOptions, появляется, что вместо установки updateOn : 'default'
необходимо установить controller.$options.updateOnDefault = true;
Для вашего случая вы можете попробовать
ngModelController.$options = {
updateOn: 'blur',
updateOnDefault: true,
debounce: {
'blur': 2000,
'default': 3000
}
};
Но теперь (ng1.6 +) вы должны сделать это как (подробнее здесь, здесь и здесь):
ngModelController.$overrideModelOptions({
updateOn: 'blur',
updateOn: 'default',
debounce: {
'blur': 2000,
'default': 3000
}
});
Похожие вопросы
Новые вопросы
angularjs
Используйте для вопросов об AngularJS (1.x), JavaScript-фреймворке с открытым исходным кодом. НЕ используйте этот тег для Angular 2 или более поздних версий; вместо этого используйте тег [angular].