簡體   English   中英

如何使用Ember.js在模板中顯示特定的字符串而不是模型值?

[英]How do I display specific string instead of model value in template using Ember.js?

我有一條Ember路線,顯示一組記錄。 該模型包括如下status

status: DS.attr('number'),

的狀態的值將返回為任一: -101

我沒問題使用{{modelName.status}}來顯示模板中每個記錄的值。 這樣一來,每條記錄的狀態反映為兩種: -101

我要執行以下操作:

如果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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM