0

Ember Table中,我需要随着特定单元格内容的变化来改变单元格的样式。我需要使用值更新(我已经完成)为单元格添加颜色并在 1 秒后删除样式(我想要这样做)。

setTimeout在应用颜色和删除颜色时调用了setTimeout. 它并不总是有效。某些单元格颜色不会被删除。(滚动时会变得更糟)。我假设 1 秒后,Ember 找不到特定的单元格元素。

我使用 and Ember 表格组件并分配了一个contentBindingand columnBinding。我为组件添加了一个模板Ember.Table.TableCell并添加了类名。

在下面添加了 Main 函数并修改了 Jsbin 示例。

4

1 回答 1

0

我不能保证这会回答你的问题,但是当我阅读这段代码时,这里有很多事情会突然出现。我认为最好将它们格式化为“答案”。

  1. setTimeout您应该避免在计算属性中出现副作用,例如调用。Ember 中的计算属性是惰性的,因此它们仅在需要其值时更新。在这种情况下,考虑使用一个Observer,或者只是一个函数。这几乎肯定与您的问题有关。

  2. 代替setTimeout, 使用Ember.run.later或类似的 Ember 函数。这将确保您的代码尊重 Ember 运行循环。

  3. 您的customColor计算属性不依赖于previousColumnValue,即使它使用它。这与副作用讨论有关:如果可能,您应该尝试重新设计您的代码。

除此之外,你有很多正确的想法。我很确定这可以用 Ember Table 完成——AJAX示例是处理异步的 Ember Table 单元格的示例。

我建议首先尝试使用Ember Table starter kit在 JS Bin 中创建一个最小示例来进行调试。如果您需要更多帮助,这也将很有用 - 它使像我这样的人可以轻松地使用您的设置,直到它工作为止。

于 2015-02-27T02:38:53.013 回答