我的HTML如下:如何在點擊添加一個類到AngularJS的父元素?
<div class="cell">
<div class="offset-container pull-left">
<i data-ng-click="doCtrlStuff()"></i>
</div>
</div>
當您單擊<i>
,我想一個active
類添加到具有.cell
當前父。這對於AngularJS是如何實現的?
我的HTML如下:如何在點擊添加一個類到AngularJS的父元素?
<div class="cell">
<div class="offset-container pull-left">
<i data-ng-click="doCtrlStuff()"></i>
</div>
</div>
當您單擊<i>
,我想一個active
類添加到具有.cell
當前父。這對於AngularJS是如何實現的?
OK,根據你過去的評論,如果你的細胞在一個循環中,你應該在你的問題中提到這一點。我會假設你使用ng-repeat。
我有這樣的工作。如果您點擊另一個,active
類也會被刪除。
HTML:
<div ng-repeat="cell in [0,1,2]" data-ng-class="{cell:true, active:index=='{{$index}}'}">
<div class="offset-container pull-left">
<i data-ng-click="activate($index)">Activate Me</i>
</div>
</div>
控制器:
$scope.activate= function(index){
$scope.index=index;
};
<div class="cell" ng-class="{'active': isActive}">
<div class="offset-container pull-left">
<i data-ng-click="isActive = !isActive"></i>
</div>
</div>
這裏有一種方法,使用ng-class
<div class="cell" ng-class="{'active': isActive==true}">
<div class="offset-container pull-left">
<i data-ng-click="doCtrlStuff()">clicky</i>
</div>
</div>
控制器:
function MyCtrl($scope) {
$scope.doCtrlStuff = function(){
$scope.isActive = true;
}
}
從這裏你可以這樣做:http://docs.angularjs.org/api/ng.directive:ngClass
<div data-ng-class="{cell:true, active:clickedIcon}">
<div class="offset-container pull-left">
<i data-ng-click="doCtrlStuff()"></i>
</div>
</div>
你可以使用一個類:布爾ng類表達式的模式。
而在你的控制器:
$scope.doCtrlStuff = function() {
$scope.clickedIcon = true;
}
UPDATE:
如果你想要做一個單選按鈕:
<div data-ng-class="{cell:true, active:clickedDogIcon}">
<div class="offset-container pull-left">
<i data-ng-click="doDogStuff()"></i>
</div>
</div>
<div data-ng-class="{cell:true, active:clickedCatIcon}">
<div class="offset-container pull-left">
<i data-ng-click="doCatStuff()"></i>
</div>
</div>
$scope.doDogStuff = function() {
$scope.clickedDogIcon = true;
$scope.clickedCatIcon = false;
}
$scope.doCatStuff = function() {
$scope.clickedDogIcon = false;
$scope.clickedCatIcon = true;
}
如何從其他'cell's中刪除'active'類? – Shamoon
我會爲每個家長有一個不同的變量。所以你可以做clickedIcon1,clickedIcon2等等,並將其他設置爲false,這樣ng-class會在它們爲false時刪除這個類。 – programmerdave
'細胞'是在一個循環。所以我不能做的1,2,3等方法 – Shamoon
只是建議一個快字:下次不問1個問題,然後問又在一些註釋,尤其是當你似乎已經知道你有兩個問題。把它們放在原來的文章中,這樣人們可以幫助你更輕鬆。 –