AngularJS中ng-class使用方法

转自:https://blog.csdn.net/jumtre/article/details/50802136javascript

其余博文ng-class使用方法:https://blog.csdn.net/sinat_36146776/article/details/78340922html

有三种方法:java

一、经过$scope绑定(不推荐)数组

二、经过对象数组绑定app

三、经过key/value键值对绑定oop

 

实现方法:spa

一、经过$scope绑定(不推荐):.net

 

[javascript] view plain copy
print ?
  1. function ctrl($scope) {   
  2.     $scope.className = "selected";  
  3. }  
function ctrl($scope) { 
    $scope.className = "selected";
}

  1. <div class="{{className}}"></div>  
<div class="{{className}}"></div>


 

二、经过对象数组绑定:code

 

[javascript] view plain copy
print ?
  1. function ctrl($scope) {   
  2.     $scope.isSelected = true;  
  3. }  
function ctrl($scope) { 
    $scope.isSelected = true;
}

  1. <div ng-class="{true:'selected',false:'unselected'}[isSelected]"></div>  
<div ng-class="{true:'selected',false:'unselected'}[isSelected]"></div>

当isSelected为true时,增长selected样式;当isSelected为false时,增长unselected样式。

 

 

三、经过key/value键值对绑定:htm

 

[javascript] view plain copy
print ?
  1. function ctrl($scope) {   
  2.     $scope.isA = true;  
  3.     $scope.isB = false;  
  4.     $scope.isC = false;  
  5. }  
function ctrl($scope) { 
    $scope.isA = true;
    $scope.isB = false;
    $scope.isC = false;
}

  1. <div ng-class="{'A':isA,'B':isB,'C':isC}"></div>  
<div ng-class="{'A':isA,'B':isB,'C':isC}"></div>

当isA为true时,增长A样式;当isB为true时,增长B样式;当isC为true时,增长C样式。

 

 

  1. <ion-list>  
  2.     <ion-item ng-repeat="project in projects" ng-click="selectProject(project, $index)" ng-class="{active: activeProject == project}">  
  3.         {{project.title}}  
  4.     </ion-item>  
  5. </ion-list>  
<ion-list>
	<ion-item ng-repeat="project in projects" ng-click="selectProject(project, $index)" ng-class="{active: activeProject == project}">
		{{project.title}}
	</ion-item>
</ion-list>
根据projects循环建立ion-item,当activeProject为当前循环到的project时,增长active样式。

 

 

几点说明:

一、不推荐第一种方法,由于controller $scope应该只有数据和行为

二、ng-class是增长相关样式,能够和class同时使用

相关文章
相关标签/搜索