【发布时间】:2015-12-19 05:54:11
【问题描述】:
如果我有一个解析为字符串的角度表达式,我可以在该表达式中添加一个条件,将额外的文本附加到该字符串吗?
我有:
<span>{{groupType}}</span>
但如果groupType 解析为汽车或动物,我想在字符串的末尾添加一个 s。
我可以在表达式中添加一个条件来完成这个吗?
【问题讨论】:
标签: javascript angularjs
如果我有一个解析为字符串的角度表达式,我可以在该表达式中添加一个条件,将额外的文本附加到该字符串吗?
我有:
<span>{{groupType}}</span>
但如果groupType 解析为汽车或动物,我想在字符串的末尾添加一个 s。
我可以在表达式中添加一个条件来完成这个吗?
【问题讨论】:
标签: javascript angularjs
您可以在 Angular 表达式中使用三元运算符
<span>{{groupType === 'Car' || groupType === 'Animal' ? groupType + 's' : groupType}}</span>
【讨论】:
s附加到字符串中,我认为很好
是的,你可以:
<span>{{["Car", "Animal"].indexOf(groupType) >= 0 ? groupType + 's' : groupType}}</span>
我使用带有indexOf 的名称数组,因为它比“x or y or z”短一点
不过,理想情况下,您不希望在 HTML 中使用这种逻辑。我建议把它放在你的控制器中的一个函数中:
$scope.getGroupType = function(type){
if(["Car", "Anumal"].indexOf(type) >= 0)
return type + 's';
return type;
};
然后,在您的 HTML 中:
<span>{{getGroupType(groupType)}}</span>
【讨论】: