我想使用类似
的ng-class应用多个类ng-class="func1();function2()"
这会引发错误。
我是否只能在一个功能中编写完整版?
我是否可以调用上述两个函数或任何正确的语法来执行相同的操作。
答案 0 :(得分:2)
假设两个函数都返回一个类名,你应该能够:
ng-class="func1() + ' ' + function2()"
然而它确实闻到了一点点。我更愿意设置一个观察者来更新范围内的classes
属性(如果你使用的是控制器,则更新在控制器上)。
答案 1 :(得分:1)
不。也没有理由。你不应该在视图中组成这样的函数。存在ng-click
指令以在单击时调用范围方法。它不仅仅是eval()
引号之间的代码。
要了解为什么你要做的就是编写自己的指令。
<input type="text" ng-model="model" />
<my-directive complete="total(value, model)"></my-driective>
app.directive('myDirective', function() {
scope: {
complete: '&'
},
link: function(scope) {
// use your imagination
scope.complete({value: 'hello'})
}
})
注意函数调用实际上如何解析提供给它的参数,并且只提供它需要提供给范围的值。
换句话说,做一个包装函数,你的代码会感谢你。