У меня есть эта часть кода, используя Angular 1.3, и я хочу, чтобы div с директивой ng-show отображался НЕ, когда я загружаю страницу в первую очередь :ng-show set как false не скрывает элемент при загрузке страницы
<div class="stuff">
<uib-accordion close-others="false">
<div ng-show="element.visible" ng-repeat="element in elements" ng-if="element.active" uib-accordion-group ng-class="element.open? 'colorBackgroundBlue':'black'" class="panel-default yellow" is-open="element.open">
<uib-accordion-heading>
{{element.title}} ({{element.number}})
</uib-accordion-heading>
<div class="scrollable-accordion" ng-if="element.numberOfElements!=0">
</div>
</div>
</uib-accordion>
</div>
element.visible
логическое значение устанавливается как ложное в контроллере:
$scope.elements = [{
status: 0,
title: blabla,
number: 0,
open: false,
active: false,
visible: false
}, {
status: 1,
title: blob,
number: 0,
open: false,
active: false,
visible: false
}]
почему-то появляется, что нг-шоу правильно установлен в ложным, но элемент появляется в любом случае. Если я привяжу кнопку к visible
булевым, но и измените его, пока я нахожусь в браузере, элемент появляется и исчезает правильно.
Попробуйте по-другому с помощью ng-hide = "! Element.visible" или ng-if = "element.visible" – Mazz
И добавьте тег 'ng-cloak' – Mazz
ng-show фанки время от времени, я склонен вместо этого нужно применить ng-hide. Странно, мне еще предстоит выяснить, почему у меня эти проблемы. Вы пробовали ng-hide = "! Element.visible"? –