3
我正在使用Ember.js从json提要创建表。我有要求闪烁正在改变的值(在表格行内)。我如何在Ember.js中执行此操作?如何刷新Ember.js中更改的值
我的模板如下所示:
<tbody>
{{#each Quotes.quotesController.content}}
<tr>
<td class="quote-name">{{name}}</a>
<td class="quote-code">{{code}}</a>
<td class="quote-value">{{value}}</a>
<td class="quote-bid">{{bid}}</a>
<td class="quote-offer">{{offer}}</a>
</tr>
{{/each}}
</tbody>
下面是获取并更新报价代码:
fetchQuotes: function() {
var scope = this;
$.getJSON('/rest/quotes', function(data) {
$.each(data, function(index, quote) {
scope.updateQuote(quote);
});
});
}
只是作为比较,在Backbone.js的,我是有约束力改变事件在属性级别并在回调中触发动画。例如:
this.model.bind('change:value', this.updateValue);
updateValue: function() {
var td = $(this.el).children('.quote-value');
td.html(this.model.get('value'));
td.animate({color: animationColor}, 200)
.animate({color: '#000000'}, 3800, 'easeInQuint');
},
我不知道使用Ember.js是否可以使用这种方法/建议。
编辑: 我现在差不多已经有了。我可以处理表格单元格上的事件并将其颜色更改为任何内容。请参阅this jsfiddle - 单击值列中的任何单元格,它将变为红色。我唯一不知道的是如何捕获对表格单元格值的更改,而不是单击事件。有没有我能捕捉到的变化事件?
感谢ud3323。但我不太清楚如何才能到达我需要从观察者处闪光的表格单元格。据我所知,观察者知道已经改变的模型属性,并且从模型中我不能/不应该去视图(s)。顺便提一句,我在视图层面提出了一个解决方案,我可以捕获视图中的事件并直接更改关联的视图元素。唯一的问题是我不知道如何在视图级别捕捉“更改”事件。请参阅我对原始问题的编辑。再次感谢你的帮助。 – Naresh 2012-02-10 04:53:24
看到我的编辑和jsFiddle :) – 2012-02-10 07:11:03
谢谢!从代码中学到很多东西。我喜欢你如何取出“tr”标签并将其改为视图。 – Naresh 2012-02-10 19:01:12