我正在使用couple视图来格式化每个循环中的数据。让我们仔细看看我的代码:
模板:
{{#each controller.positions}}
<tr>
<td>{{position}}</td>
<td class="url">{{url}}</td>
{{#each days}}
{{#view App.DaysView changed=data.change}}
<td {{bind-attr class="view.change"}}>{{data.position}}</td>
{{/view}}
{{/each}}
</tr>
{{/each}}
查看:
App.DaysView = Ember.View.extend({
changed: 0,
change: function() {
if(this.get('changed') > 0)
{
return 'down';
}
if(this.get('changed') < 0)
{
return 'up';
}
}.property()
});
当data.position为高零且&#34; .up&#34;我试图添加class .down。 data.position低于零时的类。 工作正常但很慢。放慢速度的原因是使用外部视图。我怎样才能改进我的代码?我应该将逻辑移到控制器并使用条件吗?
答案 0 :(得分:1)
我没有看到任何可能会降低您的应用速度的内容。如果您显示数千条记录可能是个问题,但我想这不是您的情况。
我认为你可以用这种方式使用一个独特的html元素:
App.DaysView = Ember.View.extend({
tagName: 'td',
classNameBindings: ['up', 'down'],
up: Ember.computed.gt('changed', 0),
down: Ember.computed.lt('changed', 0),
changed: 0
});