Zmiany DOM ze sterowników angularjs nie są dobrą praktyką. W mojej aplikacji po kliknięciu na link zmieniam klasę elementu html wewnątrz ngView. zamierzonym zachowaniem jest to, że mam trzy divy i zmieniam się, jeśli środkowy jest pokazany, czy nie. Robię to ze sterownika. Czytałem, że manipulowanie DOMem powinno odbywać się zgodnie z dyrektywą, ale mój umysł nie jest wystarczająco szeroki, aby znaleźć rozwiązanie. Proszę, jeśli masz sugestię, będę zadowolony.Zmiana CSS z AngularJS
8
A
Odpowiedz
9
Użyj ng-class.
np
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();
});
};
});
Niektóre HTML:
<div id="page">
<div>One</div>
<div ng-class="{'my-class':boolChangeClass}">Two</div>
<div>Three</div>
<button click>Click me</button>
</div>
Po kliknięciu przycisku klasa środkowym div zmienia się w zależności od wartości boolen ustawiony w swoim zakres.
Powiązane problemy
- 1. Zmiana klas CSS z kodu
- 2. Zmiana href z tagu html z css
- 3. Zmiana CSS dynamicznie
- 4. angularjs: zmiana opcji filtrowania dynamicznie
- 5. Zmiana HTML z CSS media query
- 6. Zmiana kursora okna z czystym CSS
- 7. Dyrektywa angularjs: jak obudować css?
- 8. Zmiana dynamiczna Angular2 Właściwość CSS
- 9. Zmiana koloru znacznika SVG - CSS?
- 10. AngularJS - zmiana wartości wejściowej dyrektywy atrybutu
- 11. nie można zmienić styl CSS w angularjs
- 12. AngularJS bootstrap ui - jak zmienić style CSS?
- 13. zmiana pozycji css elementów po przewinięciu strony
- 14. Lepszy sposób zastosowania modułów css do AngularJS
- 15. Zmiana grubości czcionki CSS w przeglądarce Chrome
- 16. Zmiana położenia tła CSS na osi Y
- 17. CSS zmiana rozmiaru obrazów, prowadzenie formacji
- 18. CSS - zmiana rozwijana strzałka na Unicode trójkąta
- 19. Zmiana koloru czcionek w DIV (CSS)
- 20. Zmiana rozmiaru tła w CSS Polyfill?
- 21. Zmiana formatu arkuszy stylów CSS w Eclipse
- 22. Zmiana koloru tła elementów zastępczych css
- 23. zmiana koloru części tekstu w stylus css?
- 24. Zmiana klasy CSS elementu na starcie
- 25. Zmiana ścieżki lokalizacji AngularJs bez resetowania wszystkich kontrolerów
- 26. AngularJS - Integracja usług SOAP z AngularJS Model
- 27. Zmiana nałożonych obrazów z-index z jQuery
- 28. Kreacja listy zamówień z angularjs
- 29. Dziwne łączenie/nieokreślony z AngularJS
- 30. Zmiana bgkoloru po najechaniu wskaźnikiem, przy użyciu tylko CSS
Dziękujemy! Więc nie potrzeba wiele refaktoryzacji :) –
@MartinPalis ta odpowiedź jest częściowo poprawna. Powinieneś używać ng-class .. Ale zamiast niestandardowej dyrektywy kliknięć powinieneś używać ng-click ... – ganaraj
Dziękuję ganaraj, masz rację. –