Как установить ng-model-options в пользовательскую директиву?

Настройка 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

Ответы

Ответ 2

для вашего случая вы можете попробовать

ngModelController.$options = {
    updateOn: 'blur',
    updateOnDefault: true,
    debounce: {
      'blur': 2000,
      'default': 3000
    }
  };

но теперь (ng1.6 +) вы должны сделать это как (подробнее здесь, здесь, и здесь):

ngModelController.$overrideModelOptions({
    updateOn: 'blur',
    updateOn: 'default',
    debounce:= {
      'blur': 2000,
      'default': 3000
    }
});