DOM-Änderungen von angularjs Controllern sind keine gute Übung. In meiner Anwendung, nachdem ich auf einen Link geklickt habe, ändere ich die Klasse eines HTML-Elements in ngView. Das beabsichtigte Verhalten ist, dass ich drei divs habe, und ich ändere, ob der mittlere dividiert ist oder nicht. Ich mache das von einem Controller. Ich habe gelesen, dass DOM-Manipulation in einer Direktive gemacht werden sollte, aber meine Meinung ist nicht breit genug, um eine Lösung zu finden. Bitte, wenn Sie einen Vorschlag haben, werde ich mich freuen.CSS von AngularJS ändern
8
A
Antwort
9
Verwenden Sie ng-class.
zB:
http://jsfiddle.net/rd13/eTTZj/75/
app = angular.module('myApp', []);
app.directive("click", function() {
return function(scope, element, attrs) {
element.bind("click", function() {
scope.boolChangeClass = !scope.boolChangeClass;
scope.$apply();
});
};
});
Einige HTML:
<div id="page">
<div>One</div>
<div ng-class="{'my-class':boolChangeClass}">Two</div>
<div>Three</div>
<button click>Click me</button>
</div>
Wenn Sie auf die Schaltfläche klicken, wird die Klasse des Zentrums div in Ihrem Set auf dem Boolen Wert je ändern Umfang.
Verwandte Themen
- 1. Angularjs Ändern css auf toggle klicken
- 2. Ändern von CSS-Designs
- 3. Einstellung css Stil von Controller AngularJS
- 4. Angularjs UI Bootstrap: So ändern Sie Uib-Tab CSS
- 5. CSS-Klasse Helfer (AngularJS)
- 6. angularjs: Filteroptionen dynamisch ändern
- 7. AngularJS - Ausdruck dynamisch ändern
- 8. CSS für ActionLink ändern
- 9. Ändern CSS Klassendefinition
- 10. CSS dynamisch ändern
- 11. Kann nicht CSS-Style in AngularJS
- 12. Mit FBJS CSS ändern
- 13. Ändern css Wert von Arraylist in Javascript
- 14. Ändern CSS von Dijit-Menü in Code
- 15. Ändern von CSS Mit Select Tag
- 16. Ändern Sie das Ausgabeverzeichnis von .css Dateien
- 17. Ändern Sie CSS-Klassen von Code
- 18. Ändern CSS-Datei von Magento2 Modul
- 19. Ändern CSS Stil von ASP.NET-Code
- 20. Ändern css in Abhängigkeit von Span-Wert
- 21. Ändern und Hinzufügen von benannten CSS-Farbwerten
- 22. wie 'innere' Lineheight von CSS-Text ändern
- 23. Ändern von WooCommerce Checkout-Eingabetext CSS-Stil
- 24. HTML AngularJs CSS-Formular senden
- 25. wenden css dynamisch in angularjs
- 26. CSS anwenden, basierend auf Zustand AngularJS
- 27. Element CSS ändern onclick?
- 28. CSS zum Ausblenden ändern
- 29. Ändern Hintergrundbild css
- 30. Ändern css zu schwarz
Vielen Dank! Es wird also nicht viel Refactoring benötigt :) –
@MartinPalis Diese Antwort ist teilweise korrekt. Du solltest ng-class verwenden. Aber anstelle einer benutzerdefinierten Klick-Direktive solltest du ng-click verwenden ... – ganaraj
Danke, ganaraj, du hast Recht. –