2015-02-26 4 views
0

in Ember Table, мне нужно изменить стиль ячейки с изменением содержимого конкретной ячейки. Мне нужно добавить цвет в ячейку с обновлением значения (что я уже сделал) и удалить стили через 1 секунду (что я хочу сделать).Как применить функцию «Мигать» в таблице Ember?

Я назвал setTimeout при нанесении цвета и удалены цветом в пределах setTimeout. Он не работает все время. некоторые цвета ячеек не удаляются. (это ухудшается при прокрутке). Я предполагаю, что через 1 секунду Ember не может найти конкретный элемент ячейки.

Я использую и элемент Эмблема стола и назначил contentBinding и columnBinding. Я добавил шаблон для компонента Ember.Table.TableCell и добавил имена классов.

ответ

0

Я не могу гарантировать, что это ответит на ваш вопрос, но вот куча вещей, которые выпрыгивают на меня при чтении этого кода. Я думаю, что они лучше всего отформатированы как «ответ».

  1. Вы должны избегать побочных эффектов, как вызов setTimeout, в пределах вычисленной собственности. Вычислимые свойства в Ember являются ленивыми, поэтому они обновляются только тогда, когда их значение необходимо. Рассмотрите возможность использования Observer или просто функции в таких случаях. Это почти наверняка связано с вашей проблемой.

  2. Вместо setTimeout использовать Ember.run.later или аналогичные функции Ember. Это позволит убедиться, что ваш код соответствует циклу запуска Ember.

  3. Выбранное свойство customColor не зависит от previousColumnValue, хотя оно и используется. Это связано с обсуждением побочных эффектов: вы должны попытаться перепроектировать ваш код, если это возможно.

Кроме этого, у вас есть много правильных идей. Я уверен, что это можно сделать с помощью таблицы Ember - AJAX example является примером ячеек таблицы Ember, занимающихся асинхронностью.

Я рекомендую отладку, сначала создав минимальный пример в JS Bin, используя Ember Table starter kit. Это также будет полезно, если вам нужна дополнительная помощь - это облегчает для людей, подобных мне, игру с вашей настройкой до тех пор, пока она не будет работать.

+0

Я отправил свой пример и возникли новые проблемы. http://stackoverflow.com/questions/29071528/add-blink-feature-in-ember-table – Arosha

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