<button id="tagBtnId" name="TagsFilter" ng-show="disableTagButton">Tags</button>
ng-show angewendet display: none
oder display: block
Eigenschaft Aber ich möchte anwenden visibility: hidden
und visibility: visible
Eigenschaft.
Sie können ng-class
oder ng-style
Anweisungen wie folgt verwenden
Dadurch wird myclass
der Schaltfläche eine Klasse hinzugefügt , wenn nur disableTagButton
wahr ist. Wenn sie disableTagButton
falsch ist, myclass
wird sie von der Schaltfläche entfernt
Ausdrucksübergabe an ng-class
kann eine Zeichenfolge sein, die durch Leerzeichen getrennte Klassennamen, ein Array oder eine Zuordnung von Klassennamen zu booleschen Werten darstellt.
1 - durch Leerzeichen getrennte Klassennamen
.. ng-class="{strike: deleted, bold: important, red: error}"..
2 - ein Array
.. ng-class="[style1, style2, style3]"..
style1, style2 & style3 sind CSS-Klassen. Weitere Informationen finden Sie in der folgenden Demo.
2 - Ausdruck
.. ng-class="'my-class' : someProperty ? true: false"..
Wenn someProperty
vorhanden, fügen Sie .my-class
es hinzu. Entfernen Sie es.
Wenn der CSS-Klassenname im
ng-class
Bindestrich getrennt ist, müssen Sie ihn als Zeichenfolge definieren, wie.. ng-class="'my-class' : ..
Sie ihn sonst als Zeichenfolge definieren können oder nicht als.. ng-class="myClass : ..
<button id="tagBtnId" name="TagsFilter" ng-class="{'myClass': disableTagButton}">Tags</button>
<style>
.myClass {
visibility: hidden
}
</style>
Der Ausdruck übergibt die Bewertungen im [
ng-Stil ][2]
an ein Objekt, dessen Schlüssel CSS - Stilnamen sind, und Werte sind entsprechende Werte für diese CSS-Schlüssel.
EX:
.. ng-style="{_key_ : _value_}" ...
=> _key_
ist die CSS-Eigenschaft, während _value_
der Eigenschaftswert festgelegt wird. Ex =>.. ng-style="{color : 'red'}" ...
Wenn Sie so etwas verwenden,
background-color
ist es kein gültiger Schlüssel eines Objekts, dann muss es.. ng-style="{'background-color' : 'red'}" ...
genauso wie die ng-Klasse in Anführungszeichen gesetzt werden .
<button id="tagBtnId" name="TagsFilter" ng-style="disableTagButton">Tags</button>
dann disableTagButton
solltest du so sein
$scope.disableTagButton = {'visibility': 'hidden'}; // then button will hidden.
$scope.disableTagButton = {'visibility': 'visible'}; // then button will visible.
So können Sie die Sichtbarkeit der Schaltfläche ändern, indem Sie die $scope.disableTagButton
.
oder Sie können es als Inline-Ausdruck verwenden als,
ng-style="{'visibility': someVar ? 'visible' : 'hidden'}"
wird someVar
als wahr ausgewertet, dann wird die Sichtbarkeit auf visible
Andernfalls gesetzt hidden
.
disableTagButton
umfalse
dann automatisch KlassemyClass
wird aus der Schaltfläche entfernen Sie dannvisibility: hidden
entfernen wirdSie können verwenden
ng-style
. Einfaches Beispiel:<div ng-style="{'visibility': isMenuOpen?'visible':'hidden'}">...</div>
Zur Laufzeit ändert sich der Stil, wenn er sich
isMenuOpen
ändert.isMenuOpen
ist wahr , wirst du habenstyle="visibility: visible"
.isMenuOpen
ist falsch , müssen Siestyle="visibility: hidden"
.quelle
<div ng-style="{'visibility': isMenuOpen?'visible':'hidden'}">...</div>
ng-style="{visibility: isMenuOpen?'visible':'hidden'}"
Zitate sind nur bei zusammengesetzten Wörtern nützlich. Andernfalls können Sie die CAML-Syntax für die ohne Anführungszeichen erstellten CSS-Eigenschaften verwenden.Hier ist eine einfache Anweisung, die die Sichtbarkeit auf versteckt oder sichtbar setzt (aber nicht reduziert):
.directive('visible', function() { return { restrict: 'A', link: function(scope, element, attributes) { scope.$watch(attributes.visible, function(value){ element.css('visibility', value ? 'visible' : 'hidden'); }); } }; })
Verwendung:
<button visible='showButton'>Button that can be invisible</button>
Code-Snippet anzeigen
angular.module('MyModule', []) .directive('visible', function() { return { restrict: 'A', link: function(scope, element, attributes) { scope.$watch(attributes.visible, function(value){ element.css('visibility', value ? 'visible' : 'hidden'); }); } }; }) .controller('MyController', function($scope) { $scope.showButton = true; });
<script src="//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.7.0/underscore-min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> <div ng-app='MyModule' ng-controller='MyController'> <button visible='showButton'>Button that can be invisible</button> <button ng-click='showButton = !showButton'>Hide it or show it</button> </div>
quelle
ng-visible
Anweisung hinzufügen .Oder wenn Sie Bootstrap verwenden, verwenden Sie die
invisible
Klasseng-class='{"invisible": !controller.isSending}'
quelle
Sie sollten in Ihrem Fall ngClass oder ngStyle verwenden :
<button id="tagBtnId" name="TagsFilter" ng-class="{'button-hidden':!disableTagButton}">Tags</button>
Und dieses CSS :
.button-hidden{ visibility: hidden; }
quelle
Warum verwenden Sie ng-nicht, wenn Ihr Tag nicht auf Ihrer HTML-Seite gerendert wird? Ich denke du benutzt das:
<button id="tagBtnId" name="TagsFilter" ng-if="disableTagButton">Tags</button>
quelle
Siehe https://docs.angularjs.org/api/ng/directive/ng. Zeigen Sie den Abschnitt über das Überschreiben von .ng-hide an
Sie müssen lediglich die Klasse
hg-hide-animate
dem Element zuweisen/* style your element(s) at least for selector.ng-hide */ /* in this case your selector is #tagBtnId */ #tagBtnId.ng-hide { /*visibility:hidden;*/ opacity: 0; transition: opacity 1s ease-in; } #tagBtnId { /*visibility:initial;*/ opacity: 1; transition: opacity 1s ease-out; }
Code-Snippet anzeigen
(function() { angular.module('app', []).controller('controller', Controller); /* @ngInject */ function Controller($s) {var THIS = this;THIS.disableTagButton = false;} Controller.$inject = ['$scope']; })();
/* style your element(s) at least for selector.ng-hide */ /* in this case your selector is #tagBtnId */ #tagBtnId.ng-hide { /*visibility:hidden;*/ opacity: 0; transition: opacity 1s ease-in; } #tagBtnId { /*visibility:initial;*/ opacity: 1; transition: opacity 1s ease-out; }
<div ng-app='app' ng-controller="controller as viewmodel"> <label>disabled</label> <input type="checkbox" ng-model="viewmodel.disableTagButton" /> <!-- assign class "ng-hide-animate" --> <button class="ng-hide-animate" id="tagBtnId" name="TagsFilter" ng-hide="viewmodel.disableTagButton"> Tags </button> <pre inspect>viewmodel={{viewmodel | json}}</pre> </div> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.min.js"></script>
quelle