在工作中,需要点击某个控件实现另外一个控件的效果(例如变色、是否显示等),在angularjs中,使用ng-class是个不错的选择。
下面是我写的例子,方便学习。
<!DOCTYPE html> <html lang="zh-CN" ng-app="jiazhengApp"> <head> <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script src="../public/ionic/js/ionic.bundle.min.js"></script> <script src="../public/js/jquery.min.js"></script> <link rel="stylesheet" href="../public/ionic/css/ionic.css"> <title>tabs_ionic.html</title> </head> <style> .color_red{ color:red; } .font_32px{ font-size: 32px; } </style> <body ng-controller="myController"> <ion-toggle ng-model="colorClass" toggle-class="toggle-calm">Airplane Mode</ion-toggle> <ion-toggle ng-model="fontClass" toggle-class="toggle-calm">Airplane Mode</ion-toggle> <!--使用key - value的方式设置 --> <div ng-class="{'color_red':colorClass,'font_32px':fontClass}">dsaf</div> <br> <!-- 通过对象数组 --> <div ng-class="{true:'color_red font_32px',false:''}[colorClass]">456436</div> <br> <!-- 通过数据的双向绑定(不推荐) --> <div class="{{myfont}} {{myColor}}">456436</div> </body> <script> var app = angular.module("jiazhengApp",["ionic"],function() { }) //默认控制器 .controller("myController",['$scope','$ionicPopover','$timeout',function($scope,$ionicPopover,$timeout){ $scope.isShow=true; $scope.myfont = "font_32px"; $scope.myColor = "color_red"; }]) </script> </html>
<ion-list show-delete="isEditor"> <ion-item ng-repeat="item in goodlists" > <span class="float_left" addressID="{{item.id}}" roomID="{{item.rooms_id}}">{{item.residence_name}}{{item.blocks_name}}{{item.rooms_name}}</span> <span class="float_right icon ion-ios-checkmark font_24" ng-class="{'color_3eb034':item.is_default==1}" ng-click="chooseItem($event,'{{item.id}}')"></span> <span class="clear_both"></span> <ion-delete-button class="ion-minus-circled" ng-click="onItemDelete(item,'{{item.id}}')"></ion-delete-button> </ion-item> </ion-list>
ng-class="{'color_3eb034':item.is_default==1}"
备注:判断item.is_default是否等于1,如果等于1就显示color_3eb034。