我想在angular中添加两个类。一个始终是相同的,一个由范围检索。
我试过这个:
<label class="checkbox" ng-switch-when="checkbox" ng-class="{{field.name}}">
<input
name="{{field.key}}"
type="checkbox"
value="Option 1"
ng-model="$storage[field.key]"
>
{{field.label}}
</label>
它在DOM中生成了两个类。
此:
<label ng-switch-when="checkbox" ng-class="{{field.name}} checkbox">
<input
name="{{field.key}}"
type="checkbox"
value="Option 1"
ng-model="$storage[field.key]"
>
{{field.label}}
</label>
没有向class-attribute添加任何内容
答案 0 :(得分:0)
我在这里为你准备了一个关于plunker的简单例子(http://plnkr.co/edit/H7JstMuvHSlwPSy3raPO?p=preview)。该示例的核心是:
<div ng-class="{red: showRed, bold: showBold}">Hello Plunker!</div>
要使此示例有效,您需要在控制器中定义两个布尔“showRed”和“showBold”。它非常简单,但控制器代码如下:
var app = angular.module("App", []);
app.controller("ctrl", function($scope){
$scope.showRed = true;
$scope.showBold = true;
});
当您将这些布尔值切换为true / false时,类将切换元素的开关。为了便于查看,我在示例中添加了两个按钮,以便您可以在不更改代码的情况下进行切换。希望这可以帮助你。祝你好运!
答案 1 :(得分:0)
ng-class
需要一个表达式,其值为字符串,数组或映射。顺便说一句。您不需要{{
,因为整个字符串已经是表达式。
无法评估您的第二个表达式。这就像JavaScript field.name checkbox
中的一行 - 这不是有效的代码。 field.name + ' checkbox'
会。你可以使用它。
如果你有更多动态类,数组肯定会更容易使用:
[field.name, someOtherVariable, 'checkbox']
。