Ответ 1
Глядя на источник директивы ngModelOptions, кажется, что вместо установки updateOn : 'default'
вам нужно установить controller.$options.updateOnDefault = true;
Настройка controller.$options
в функции link
, похоже, работает для debouncing blur events:
controller.$options = {
updateOn : 'blur',
debounce : 3000
};
... но если я попробую то же самое для событий по умолчанию, модель никогда не обновляется:
controller.$options = {
updateOn : 'default',
debounce : 3000
};
При использовании директивы ng-model-options
, все работает так, как ожидалось.
См. http://plnkr.co/edit/KLrSrs2Jw7pkoAUNRJDf?p=preview
Глядя на источник директивы 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
}
});