2015-09-22 68 views
1

如果我有一個解析爲String的角度表達式,我可以向該表達式添加一個條件,該條件會將額外的文本添加到該String中?將條件添加到角度表達式?

我:

<span>{{groupType}}</span> 

但如果groupType解析爲汽車或動物,我想一個s添加到字符串的結尾。

我可以向表達式添加條件來完成此操作嗎?

回答

2

可以在角表達式中使用三元操作符

<span>{{groupType === 'Car' || groupType === 'Animal' ? groupType + 's' : groupType}}</span> 
+0

輝煌,非常感謝! – Daft

+0

是的,這是有效的,但你真的不應該把邏輯放在html中。 – Cerbrus

+0

@Cerbrus你說得對,但是這裏沒有業務邏輯,只是在字符串後面附加's',我認爲很好 – Tushar

2

是的,你可以:

<span>{{["Car", "Animal"].indexOf(groupType) >= 0 ? groupType + 's' : groupType}}</span> 

我使用的名稱與indexOf數組,因爲它比「X或Y矮一點或z「


理想情況下,你不過,不要在HTML中使用這種邏輯。我建議把它在一個函數在你的控制器:

$scope.getGroupType = function(type){ 
    if(["Car", "Anumal"].indexOf(type) >= 0) 
     return type + 's'; 
    return type; 
}; 

然後,在你的HTML:

<span>{{getGroupType(groupType)}}</span>