我有一条Ember路线,显示一系列记录。该模型包括status
,如此:
status: DS.attr('number'),
状态值将返回为:-1
,0
或1
。
使用把手显示模板中每条记录的值没有问题:{{modelName.status}}
。这样,每条记录的状态都反映为:-1
,0
,1
。
我想做以下事情:
如果status的值为-1,则显示字符串“Error” 如果status的值为0,则显示字符串“Completed” 如果status的值为1,则显示字符串“Pending”。
这可能吗?
答案 0 :(得分:1)
怎么样:
status: DS.attr('number'),
statusLabel: function(){
var statuses = ['Error', 'Completed', 'Pending'];
return statuses[this.get('status') + 1];
}.property('status')
然后在你的模板中:
{{modelName.statusLabel}}
答案 1 :(得分:1)
你的问题不是很清楚,因为我的选择Ember信托助手会帮助你。 https://github.com/jmurphyau/ember-truth-helpers
您需要安装Ember信任助手。
{{if(not-eq modelName.status -1)}}错误
答案 2 :(得分:0)
第一个答案的一小部分 - 让我们说我的需求是:
如果状态值为-1,则显示字符串"错误"。
如果status的值为0,则显示字符串" Completed"。
如果状态值大于0,则显示字符串"待定"。
statusLabel: function() {
var currentStatus = this.get('status');
var statuses = ['Error', 'Completed', 'Pending'];
if (currentStatus > 0) {
return statuses[2];
} else {
return statuses[this.get('status') + 1];
}
}.property('status'),