2015-05-07 3 views
2

На веб-странице, которую я создаю, я использую AngularJSng-hide показать-скрыть элемент (в основном кнопку). Но на самом деле это просто добавляет класс ng-hide к этому элементу.Как скрыть элемент даже из исходного кода HTML?

Так что каждый может перейти к инструментам разработчика и удалить класс ng-hide, и кнопка будет видна. Я знаю, используя jQuery я могу полностью remove элемент из HTML, но есть ли способ сделать это в угловом?

Прежде, чем это выглядит следующим образом:

<button ng-hide="hide">Button</button> 

И прячась это выглядит следующим образом:

<button class="ng-hide">Button</Button> 

ответ

4

Вы ищете ngIf.

Директива ngIf удаляет или воссоздает часть дерева DOM на основе выражения {expression}. Если выражение, присвоенное ngIf, оценивается как ложное значение, тогда элемент удаляется из DOM, иначе клон элемента снова вводится в DOM.

<label>Click me: <input type="checkbox" ng-model="checked" ng-init="checked=true" /></label><br/> 
Show when checked: 
<span ng-if="checked" class="animate-if"> 
    This is removed when the checkbox is unchecked. 
</span> 
+0

Никогда не знал, что 'нг-if' фактически удаляет элемент из DOM. Благодарю. – Zee

0

Это должно работать:

angular.element("button").remove(); 
Смежные вопросы