2016-11-28 34 views
0

我有使用MUI CSS框架中使用的材料设计产生的复选框列表,下面基本上基本上代码循环的阵列和显示器5个复选框来切换复选框。如果它显示'check_box',则显示勾选此“复选框”,如果它包含'check_box_outline_blank',它将显示“复选框”显示为未勾选。使用纳克单击通过改变<i>元件

使用NG点击我要利用功能toggleNetwork基本上切换<i>标签包含任何 'check_box' 或 'check_box_outline_blank'

// HTML

<div class="detail permissions" ng-class="{unfolded: role.showDetails != 'permissions'}" border-watch> 
    <ul> 
    <li ng-repeat="page in rule.pages" ng-click="toggleNetwork(this); ruleForm.$setDirty()"> 
     <span class="pull-left"><i class="check material-icons nomargin ">check_box</i></span> 
     <i class="icon icon-{{page.service}}"></i> 
     <span class="permission-description">{{page.name}}</span> 
    </li> 
    </ul> 
</div> 

//使用Javascript

$scope.toggleNetwork = function(this) { 
    // change the `<i>` element to either 'check_box' OR 'check_box_outline_blank' 
} 

回答

2

您也可以尝试

<i class="material-icons show-icon" ng-if="!clicked">check_box_outline_blank</i> 
<i class="material-icons show-icon" ng-if="clicked">check_box</i> 

DEMO

2

简单的做法就是这样: in controller:

create $scope.isChecked = false; 
$scope.toggleNetwork = function(isChecked) { 
    isChecked = !isChecked; 
} 
在html元素

<li ng-click="toggleNetwork(isChecked)"> 
    <i>{{isChecked ? 'check_box' : 'check_box_outline_blank'}}</i> 
</li>