ngClass中的多个函数调用

时间:2015-08-19 10:02:43

标签: angularjs ng-class

我想使用类似

的ng-class应用多个类
ng-class="func1();function2()"  

这会引发错误。

我是否只能在一个功能中编写完整版?

我是否可以调用上述两个函数或任何正确的语法来执行相同的操作。

2 个答案:

答案 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'})
  }
})

注意函数调用实际上如何解析提供给它的参数,并且只提供它需要提供给范围的值。

换句话说,做一个包装函数,你的代码会感谢你。