我有点遇到问题,可能是我在互联网上找不到的语法。
我创建了一个角度指令,它接收一个类名作为范围变量。 在模板中,我想将给定的类名和另一个类添加为条件。 类似的东西:
app.directive('MyDirective', function () {
return {
restrict: 'E',
scope: {
className: '=',
},
template: "<div ng-class="className, 'otherClass':{expression}"></div>"
}
});
谢谢:)
答案 0 :(得分:3)
假设className
是范围内的属性:
您可以使用具有对象文字语法的数组表达式。
<div ... ng-class="[className, {true : 'otherClass'}[expression]]"
或将其与class
<div ... class="{{className}}" ng-class="{'otherClass': expression}"
答案 1 :(得分:0)
change your code like this
app.directive('MyDirective', function () {
return {
restrict: 'E',
scope: {
className: '=',
},
template: "<div ng-class="'className':true, 'otherClass': {expression}"></div>"
}
});
答案 2 :(得分:0)
您可以使用范围数据使用某些条件或表达式。
<div ng-class="{'{{item.name}}' : item.condition}">
或
<div ng-class="$variableToEvaluate ? '{{item.nameiftrue}}' : '{{item.nameiffalse}}'">