AngularJS ng-class

来源:互联网 发布:我要吃糖的网络意思 编辑:程序博客网 时间:2024/04/28 01:39

有三种方法:

1、通过$scope绑定(不推荐)

2、通过对象数组绑定

3、通过key/value键值对绑定


实现方法:

1、通过$scope绑定(不推荐):

[javascript] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. function ctrl($scope) {   
  2.     $scope.className = "selected";  
  3. }  

[html] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. <div class="{{className}}"></div>  


2、通过对象数组绑定:

[javascript] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. function ctrl($scope) {   
  2.     $scope.isSelected = true;  
  3. }  

[html] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. <div ng-class="{true:'selected',false:'unselected'}[isSelected]"></div>  

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


3、通过key/value键值对绑定:

[javascript] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. function ctrl($scope) {   
  2.     $scope.isA = true;  
  3.     $scope.isB = false;  
  4.     $scope.isC = false;  
  5. }  

[html] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. <div ng-class="{'A':isA,'B':isB,'C':isC}"></div>  

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


[html] view plain copy
 在CODE上查看代码片派生到我的代码片
  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>  
根据projects循环创建ion-item,当activeProject为当前循环到的project时,增加active样式。


几点说明:

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

2、ng-class是增加相关样式,可以和class同时使用

0 0
原创粉丝点击