Я пытаюсь понять, как добавить класс с помощью ngClick. Я загрузил свой код на плункер. Нажмите здесь . Глядя на документацию angular, я не могу понять, как это должно быть сделано. Ниже приведен фрагмент моего кода. Может ли кто-нибудь направить меня в правильном направлении
<div ng-show="isVisible" ng-class="{'selected': $index==selectedIndex}" class="block"></div>
Контроллер
var app = angular.module("MyApp", []);
app.controller("subNavController", function ($scope){
$scope.toggle = function (){
$scope.isVisible = ! $scope.isVisible;
};
$scope.isVisible = false;
});
javascript
angularjs
angularjs-ng-click
ng-class
NewKidOnTheBlock
источник
источник
Ответы:
Вам просто нужно привязать переменную к директиве «ng-class» и изменить ее с контроллера. Вот пример того, как это сделать:
Вот пример работы с jsFiddle
источник
class
является зарезервированным словом, используйтеclassName
вместо этого, компилятор YUI не сможет его минимизировать.Я хочу , чтобы добавить или удалить «
active
» класс в моем коде динамическиng-click
, вот что я сделал.источник
The only appropriate use of ngInit is for aliasing special properties of ngRepeat, as seen in the demo below. Besides this case, you should use controllers rather than ngInit to initialize values on a scope.
Есть простой и понятный способ сделать это только с помощью директив.
источник
вы также можете сделать это в директиве, если хотите удалить предыдущий класс и добавить новый класс
и в вашем шаблоне:
источник
У вас все правильно, все, что вам нужно сделать, это установить selectedIndex в ваш ng-click.
Вот как я реализовал набор кнопок, которые изменяют ng-view и выделяют кнопку текущего выбранного представления.
и это в моем контроллере.
источник
источник
Я использовал предложение Зака Аргайла, приведенное выше, чтобы получить это, что я считаю очень элегантным:
CSS:
HTML:
источник
Если вы предпочитаете разделение задач таким образом, чтобы логика добавления и удаления классов выполнялась на контроллере, вы можете сделать это.
контролер
HTML
CSS
источник
Я не могу поверить, насколько сложно все это делают. На самом деле это очень просто. Просто вставьте это в свой html (никаких изменений директивы / контроллера не требуется - "bg-info" - это класс начальной загрузки):
источник
для реактивных форм -
HTML файл
TS файл
источник