addClass скрыт от ng-click angularJS
Вот мой код HTML:
<button type="button" ng-click="save()" class="btn btn-success btn-block"><span class="glyphicon glyphicon-save"></span>Enregistrer</button>
Я хочу сделать кнопку скрытой, добавив класс, скрытый от элемента HTML, как это делается с помощью JQUERY и магистрали:
$('a[data-actions="save"]').addClass('hidden')
Я попробовал это:
angular.element($scope.save)
но это не сработало, несмотря на то, что оно работает, если я использую html ID, как этот:
var tempItem = document.getElementById('name');
angular.element(tempItem)
.addClass('hidden');
2 ответа
Решение
Пожалуйста, используйте данные, чтобы изменить внешний вид в форме показать / скрыть.
ng-show и ng-hide хороши для этого. И иногда удобно использовать ng-if, если скрытый или скрытый элемент тяжел с точки зрения DOM.
angular.module('app', [])
.controller('MyController', function($scope) {
$scope.save = function() {
$scope.shown = !$scope.shown;
}
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app" ng-controller="MyController">
<p ng-show="shown">Hello World</p>
<button type="button" ng-click="save()" class="btn btn-success btn-block"><span class="glyphicon glyphicon-save"></span>Enregistrer</button>
</div>
Используйте ng-class, чтобы добавить класс в вашу кнопку
<button type="button" ng-class="{'hidden':selectedClass}" ng-click="save()" class="btn btn-success btn-block"><span class="glyphicon glyphicon-save"></span>Enregistrer</button>
В вашем контроллере
$scope.selectedClass = false;
$scope.save = function(){
$scope.selectedClass = ! $scope.selectedClass;
}
Надеюсь, это поможет вам.