2015-03-13 2 views
2

У меня есть крупномасштабное угловое приложение. Я перехожу от 1.2 до 1.3 и в процессе, перейдя из bindonce в одностороннее связывание с Angular 1.3. Проблема заключается в том, что по какой-то причине наблюдатель никогда не отменяет регистрацию, как следует, с «алгоритмом стабилизации стоимости», https://docs.angularjs.org/guide/expression#value-stabilization-algorithm.Угловая 1,3 односторонняя переплета не работает

Нечто вроде {{::var1}} сохраняет своего наблюдателя. Это приводит к тому же общему числу наблюдателей, что и {{var1}. Однако, <span bindonce="var1" bo-text="var1"></span> отлично работает.

К сожалению, я не могу воспроизвести это в plnkr. Я гарантировал, что мое приложение работает с угловым 1.3.14. Любая причина, по которой наблюдатель не отменяет регистрацию? Я подозреваю, что это связано с комбинацией других модулей, которые приложение использует, но не уверен, как подтвердить.

+0

Является ли это значение первоначально 'undefined'? Если выражение «undefined», наблюдатель, связанный с наблюдателем этого выражения, будет «невыполнен» и не будет отменен. – Dom

+0

Нет, это значение должно немедленно иметь значение. Я просто делаю $ scope.var1 = "test" в своем контроллере, а затем отображаю его в пользовательском интерфейсе, используя три метода привязки. Только bindonce фактически удаляет наблюдателя. В plnkr, используя аналогичный пример, Angular 1.3's удаляет наблюдателя, поэтому с моей кодовой базой должно быть что-то другое. Я уверен, что использую Angular 1.3 в своем приложении. – ravishi

ответ

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