Angular.js: ошибка (ngModel): `$ setViewValue` не вызывает` $$ debounceViewValue` при вызове с соответствующим `триггером`

Созданный на 8 июл. 2016  ·  3Комментарии  ·  Источник: angular/angular.js

Вы хотите запросить _функцию_ или сообщить _ об ошибке?
Ошибка.

Каково текущее поведение?
Вызов NgModelController#$setViewValue(value, trigger) вызовет $$debounceViewValue() _only_ только если ngModelOptions или ngModelOptions#updateOnDefault истинно.
Смотрите здесь .

Если текущее поведение является ошибкой, предоставьте шаги для воспроизведения и, если возможно, минимальную демонстрацию проблемы через https://plnkr.co или аналогичный (шаблон: http://plnkr.co/edit/tpl:yBpEi4) .
Демо
Нажав обе кнопки, я ожидаю, что оба NgModelController будут обновлены.
Тот, у кого {updateOn: 'blur'} , не: разочарован:

Какое ожидаемое поведение?
Вызов NgModelController#$setViewValue(value, trigger) также вызовет $$debounceViewValue() если ngModelOptions#updateOn включает trigger .

Какова мотивация / вариант использования для изменения поведения?
Чтобы все заработало как положено: grin:

Какие версии Angular и какой браузер / ОС подвержены этой проблеме? Также проверьте последнюю стабильную версию и версию моментального снимка (https://code.angularjs.org/snapshot/).
Пробовал только на 1.5.7, но это должно сказаться на многих версиях назад.

Другая информация (например, трассировки стека, связанные проблемы, предложения по исправлению)
Нет: путано:

forms low investigation broken expected use bug

Самый полезный комментарий

Кстати, это было побочным продуктом обсуждения с @jeserkin на gitter, и он выразил заинтересованность в том, чтобы нанести удар по нему. (Бессовестно) сохраняю для него: stuck_out_tongue:

Все 3 Комментарий

Это определенно не кажется правильным. Что странно, если вы нажмете вторую, а затем первую кнопку, все четыре будут обновлены!

Причина, по которой это работает, если вы нажимаете первую кнопку после нажатия второй, заключается в дайджесте, который запускается нажатием кнопки. Для каждого дайджеста выполняется действие ngModel watch, которое синхронизирует значения (см. Здесь ).

Проблема в том, что это происходит вне дайджеста. И даже изнутри дайджеста значения не обновляются синхронно, как это происходит в первом случае (с updateOnDefault === true ).

Кстати, это было побочным продуктом обсуждения с @jeserkin на gitter, и он выразил заинтересованность в том, чтобы нанести удар по нему. (Бессовестно) сохраняю для него: stuck_out_tongue:

Была ли эта страница полезной?
0 / 5 - 0 рейтинги

Смежные вопросы

red-crown picture red-crown  ·  78Комментарии

georgiosd picture georgiosd  ·  124Комментарии

guruward picture guruward  ·  145Комментарии

coli picture coli  ·  62Комментарии

lanterndev picture lanterndev  ·  74Комментарии