Ember classNameBindings не вызывается для примера программы

StackOverflow https://stackoverflow.com/questions/9383373

  •  28-10-2019
  •  | 
  •  

Вопрос

У меня проблема с привязкой имен классов.Вот код jsfiddle для того же самого.Регистрация количества вызовов привязки.Он никогда не вызывается при изменении свойства.

Это было полезно?

Решение

Похоже, у вас есть пара проблем. В первую очередь, если вы хотите, чтобы свойства пересчитывались при изменении содержимого массива, вы не можете просто зависеть от самого свойства массива - оно вызовет изменение только тогда, когда оно будет установлено на другой массив. Если вместо этого вы полагаетесь на myArray.@each, ваша собственность будет пересчитана при изменении содержимого.

Затем ваш шаблон, содержащий диапазон, не отображается, потому что вы предоставляете пустой шаблон представления в своем объявлении представления ручек. Измените свой "HTML" на:

родовое слово

и ваш диапазон появится.

И, наконец, запуска Ember.run.sync() здесь недостаточно. Я не так понимаю причину этого, но ... вычисляемые свойства обновляются только при чтении (в отличие от наблюдателей, которые обновляются немедленно). Я бы предположил, что, поскольку ваше вычисленное свойство используется только представлением, а представление может обновляться только при последующем прогоне через цикл событий JS, ваше вычисляемое свойство пересчитывается только один раз для всех ваших изменений в «подчиненных». Измените свой код, чтобы использовать тайм-ауты, и он будет работать нормально.

Вот jsfiddle со всеми моими предлагаемыми изменениями.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top