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;
}

Надеюсь, это поможет вам.

Другие вопросы по тегам