2016-04-07 6 views
0

Dies ist mein Code: html:Verhalten bei ng-Show und ng-hide in Winkel

<div ng-controller="ButtonController"> 
    <button class=" circle-white btn btn-collapse-custom" ng-click="collapse(1); toggleBtn()"> 
    <i ng-show="imgbtn" class="fa fa-chevron-down"></i> 
    <i ng-hide="imgbtn" class="fa fa-times"></i> 
    </button> 
</div> 

js:

'use strict' 

module.exports = function($scope , $rootScope){ 
    $scope.imgbtn = true; 
    $scope.toggleBtn = function() { 
     $scope.imgbtn = $scope.imgbtn === false ? true: false; 
    }; 
}; 

diese feine Arbeit.

Das Problem ist, wenn eine andere Schaltfläche geklickt wird, bleibt der vorherige Klick aktiv, so dass sich das Kreuz nicht ändert.

first button , when clicked

Now another button is clicked , and previous is active yet

Idk, wie die 'aktiv' zu ändern, eine andere Lösung?

+0

was u erreichen wollen? –

+1

Nur ein freundlicher Tipp hier ... '$ scope.imgbtn =! $ Scope.imgbtn;' anstatt der ternären Sache, die du da machst. – Antiga

+0

Sie können ng-Klasse verwenden, um die fa-Klasse auszutauschen, anstatt 2 separate dom-Elemente zu haben. Außerdem ist das Problem, wenn eine andere Schaltfläche angeklickt wird, ändert sich das Kreuz nicht. was bedeutet das? Wo ist der andere Knopf im Code? ist es in der gleichen Steuerung? – ajmajmajma

Antwort

1

nur raten, was Sie erreichen wollen, aber Sie sollten versuchen, diese:

<div ng-controller="ButtonController"> 
    <button class=" circle-white btn btn-collapse-custom" ng-click="collapse(1); imbtn = !imbtn"> 
     <i ng-class="{'fa fa-chevron-down': imbtn, 'fa fa-times': !imbtn}"> 
     </i> 
    </button> 
</div> 
+0

Bitte kabäehr du kannst mir bitte nochmal helfen. –

+0

Sicher, was ist dein Problem? – kabaehr