我有一个span
元素显示一些值。如果值不是0,我想对元素应用一些styleClass
:
<span styleClass="alert-error">{{value}}</span>
否则,如果值为0,我不想应用styleClass
。可以接受空的styleClass
属性:
<span styleClass="">{{value}}</span>
如何使用AngularJS执行此操作?
答案 0 :(得分:2)
@shashank解决方案很好。
我总是喜欢在控制器或服务中使用逻辑部件。我的解决方案就像
$scope.getStyleCSS = function () {
if ($scope.getValue() !== 0) {
return 'alert-error';
}
return '';
}
$scope.getValue = function () {
return $scope.value;
}
<强> HTML 强>
<span styleClass="getStyleCSS()" ng-bind="getValue()"></span>
如果在Angular编译之前浏览器在其原始状态下暂时显示模板,则最好使用ngBind而不是{{expression}}。由于ngBind是一个元素属性,因此当页面加载时,它会使绑定对用户不可见。
答案 1 :(得分:1)
在这里(只使用三元运算符):
<span styleClass="{{value == 0 ? '' : 'alert-error'}}">{{value}}</span>
修改强>
对于类属性,就像其他人已经提到过的那样:
<span class="{{value == 0 ? '' : 'alert-error'}}">{{value}}</span>
此外,您可以使用ng-class
:
<span ng-class="{'alert-error': (value != 0)}">{{value}}</span>
答案 2 :(得分:1)