2016-12-19 106 views
2

所以角,你可以這樣做:角類和納克級

ng-class="{ 'my-class': widget.widgetId == '1'} 

這將給元素的類我類的,如果widget.widgetId等於1

你也可以這樣做:

class="col-md-{{widget.size}}" 

這將給該元素一類col-md-,然後返回無論widget.size設置爲。

但是如果我想在第二個例子中做什麼,但是要用ng-class。例如以下內容:

ng-class="{ 'col-md-{{widget.size}}': widget.widgetId == '1'}" 

我試過上面的各種語法,但它似乎沒有工作。這是可能的ng類?上述

+0

在(角v.1.1.4 +)它們引入支持三元運算符,也許這可能是有用的。 –

+0

你可以給小提琴嗎? – Sankar

回答

2

下面是使用納克級的一個基本的例子:

HTML:

<button ng-class="getLanguageOptionClass(lan)" ng-repeat="lan in language.available" ng-click="language.current=lan">{{lan}}</button> 

的Javascript

var I18nController = function($scope){ 
    $scope.language = { 
     current: 'no', 
     available: ['en', 'no', 'sv', 'da', 'fi'] 
    }; 
    $scope.getLanguageOptionClass = function(language){ 
     return ($scope.language.current==language) ? 'btn btn-primary' : 'btn btn-info'; 
    } 
}; 

描述:getLanguageOptionClass被調用以lan作爲參數,它返回一個被分配爲一個類的值。

Working example

+0

完美謝謝 –

0

不知道閹將工作或沒有,但你可以通過定義你的控制器內的函數實現這一目標使用,

$scope.getClass= function(widget){ 
    var baseClass = "col-md-"; 
    if(widget.widgetId==='1'){ 
     return baseClass + widget.size; 
    } 
} 

裏面你的HTML這樣使用它,

ng-class="getClass(widget)" 
0

定義在控制器中獲取類名稱處理

$scope.getClassName = function(widgetSize){ 
    return 'col-md-' + widgetSize; 
} 

從ng-cla中調用此函數SS

ng-class="getClassName(widget.size)"