2014-01-15 61 views
0

我想在角度中添加兩個類。一個總是相同的,一個被範圍檢索。從角度範圍中添加默認的類和類?

我嘗試這樣的:

<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> 

沒有對類屬性在所有

+0

'ng-class =「['checkbox',field.name]」' – dfsq

回答

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時,類將打開和關閉元素。爲了便於查看,我在示例中添加了兩個按鈕,以便您可以在不更改代碼的情況下進行切換。希望這可以幫助你。祝你好運!

0

ng-class需要一個計算結果爲字符串,數組或地圖的表達式。順便說一句。您不需要{{,因爲整個字符串已經是一個表達式。

您的第二個表達式無法評估。它就像是一條JavaScript中的線field.name checkbox - 這不是有效的代碼。將會是field.name + ' checkbox'。你可以使用它。

[field.name, someOtherVariable, 'checkbox']:如果你有更多的動態類

陣列肯定會更容易使用。