Я использую Angularjs и pagination для отображения нескольких div. Затем я скрываю div, основываясь на некоторых критериях. См. Код exract нижеAngularjs and bootstrap pagination не скрывает divs правильно
<div class="DataItem" dir-paginate="x in parametersToDisplay | orderBy:'Name' | filter:textFilter | itemsPerPage: pageSize" current-page="currentPage" ng-hide="x.DetailLevel > detailLevel">
<label id="lblParameterName{{x.ConfigId}}" class="DataItemLabel">{{x.Name}}</label>
<label id="lblDescription{{x.ConfigId}}" class="DataItemLabel">{{x.Description}}</label>
<label id="lblUnits{{x.ConfigId}}" class="DataItemUnits">{{x.Units}}</label>
<input id="txtParameterValue{{x.ConfigId}}" class="DataItemValue" type="text" ng-blur="CheckCongigValue($event, x)" value="{{x.Value}}" />
</div>
</div>
Проблема в том, что разделители, которые должны быть скрыты, не видны, но они по-прежнему занимают пространство. Если я удалю разбивку на страницы и просто использую div с ng-repeat, он отлично работает, и скрытые divs полностью исчезнут.
Я прочитал, что bootstrap css для скрытого использования отображает: скрывает и перезаписывает angularjs css, который использует display: none. Я также считаю, что это можно переопределить, чтобы исправить проблему, но я пробовал несколько вещей и, похоже, не могу ее обработать.
Может ли кто-нибудь дать мне простой пример, показывающий, как это сделать.
Спасибо заранее!
Спасибо за ваш ответ, но если я заменил ng-show на ng-если ничего не будет показано. Если я заменю критерии на true или false, это будет работать. Мои критерии работают с ng-show. – ee0jmt
вам нужно адаптировать критерии, ng-if положителен, ng-hide - отрицательный. Поэтому попробуйте ng-if = "x.DetailLevel <= detailLevel" – ThomasP1988
Мне удалось разобраться в моих критериях, но теперь ng-if делает то же самое, что и ng-show, и оставляет пробелы, где скрытые div. Я уверен, что мне нужно переопределить bootstrap css, поскольку он определяет шкуру по-разному, но не уверен, как это сделать? – ee0jmt