使用Angular我想在编辑表单字段后将类应用于表单字段。类名称不是字符串,而是变量值,这似乎是一个问题。下面两段代码 - 工作一段,失败一段。
A)这有效:
<select ng-model="testModel"
ng-options="foo for foo in someList"
ng-change="testSwitch = 1"
ng-class="{'some-classname' : testSwitch }">
B)这也有效:
<select ng-model="testModel"
ng-options="foo for foo in someList"
ng-change="testSwitch = 1"
ng-class="{testVar}">
其中:
$scope.testVar = 'some-classname';
C)但这不是:
在视图中:
<select ng-model="testModel"
ng-options="foo for foo in someList"
ng-change="testSwitch = 1"
ng-class="{testVar : testSwitch }">
有谁知道原因或其他可能的解决方案?
答案 0 :(得分:0)
如果您将类指定为变量,那么我认为angularJS要求如果您这样做,则不要使用:和布尔值来执行条件方法。
所以,而不是:
<select ng-model="testModel"
ng-options="foo for foo in someList"
ng-change="testSwitch = 1"
ng-class="{testVar : testSwitch }">
返回 B 选项,然后在控制器中设置不同的类名,如下所示:
$scope.testVar = testSwitch ? 'some-classname' : '';
然后它应该可以正常工作。
答案 1 :(得分:0)
您可以使用三元方法:
<select ng-model="testModel"
ng-options="foo for foo in someList"
ng-change="testSwitch = 1"
ng-class="testSwitch? testVar: ''">