Ember classNameBindings не вызывается для примера программы
-
28-10-2019 - |
Вопрос
У меня проблема с привязкой имен классов.Вот код jsfiddle для того же самого.Регистрация количества вызовов привязки.Он никогда не вызывается при изменении свойства.
Решение
Похоже, у вас есть пара проблем. В первую очередь, если вы хотите, чтобы свойства пересчитывались при изменении содержимого массива, вы не можете просто зависеть от самого свойства массива - оно вызовет изменение только тогда, когда оно будет установлено на другой массив. Если вместо этого вы полагаетесь на myArray.@each
, ваша собственность будет пересчитана при изменении содержимого.
Затем ваш шаблон, содержащий диапазон, не отображается, потому что вы предоставляете пустой шаблон представления в своем объявлении представления ручек. Измените свой "HTML" на:
родовое словои ваш диапазон появится.
И, наконец, запуска Ember.run.sync()
здесь недостаточно. Я не так понимаю причину этого, но ... вычисляемые свойства обновляются только при чтении (в отличие от наблюдателей, которые обновляются немедленно). Я бы предположил, что, поскольку ваше вычисленное свойство используется только представлением, а представление может обновляться только при последующем прогоне через цикл событий JS, ваше вычисляемое свойство пересчитывается только один раз для всех ваших изменений в «подчиненных». Измените свой код, чтобы использовать тайм-ауты, и он будет работать нормально.
Вот jsfiddle со всеми моими предлагаемыми изменениями.