[英]How do I display specific string instead of model value in template using Ember.js?
我有一條Ember路線,顯示一組記錄。 該模型包括如下status
:
status: DS.attr('number'),
的狀態的值將返回為任一: -1
, 0
或1
。
我沒問題使用{{modelName.status}}
來顯示模板中每個記錄的值。 這樣一來,每條記錄的狀態反映為兩種: -1
, 0
, 1
。
我要執行以下操作:
如果status的值為-1,則顯示字符串“ Error”。
如果status的值為0,則顯示字符串“ Completed”。
如果status的值為1,則顯示字符串“ Pending”。
這可能嗎?
怎么樣:
status: DS.attr('number'),
statusLabel: function(){
var statuses = ['Error', 'Completed', 'Pending'];
return statuses[this.get('status') + 1];
}.property('status')
然后在您的模板中:
{{modelName.statusLabel}}
您的問題不太清楚,因為我的選擇是Ember信任幫助程序將為您提供幫助。 https://github.com/jmurphyau/ember-truth-helpers 。
您需要安裝Ember Trust Helper。
{{if(not-eq modelName.status -1)}}錯誤
除了第一個答案之外,我們的需求還包括:
如果status的值為-1,則顯示字符串“ Error”。
如果status的值為0,則顯示字符串“ Completed”。
如果status的值大於0,則顯示字符串“ Pending”。
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'),
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.