Nick Er Ответов: 1

Как перенести видимые данные на 1-ю страницу с помощью ng-if


У меня есть проблема с отображением данных на ng-repeat, допустим, у меня есть этот набор выборочных данных
$scope.sample={"a","b","c","d","e","f","test"}


таблица покажет данные, если образец включает в себя "тест"
<tr ng-repeat="data in sample track by $index" ng-if="data.includes('test')">

моя таблица будет показывать 4 данные на каждой странице
$scope.table = new ngTableParams({
                    page: 1,
                    count: 4    })

Однако, когда вы запускаете код, 1-я страница пуста, мне нужно перейти на 2-ю страницу, чтобы увидеть данные "теста", так как он находится на 7-й позиции.

Мой вопрос в том, есть ли решение, чтобы продвинуть видимое поле вперед? и допустим, поскольку в таблице виден только 1 Данные, она должна иметь только 1 страницу вместо 2 страниц.

Спасибо

Что я уже пробовал:

Я застрял, мне понадобится помощь.
Спасибо

1 Ответов

Рейтинг:
1

Konstantin A. Magg

Привет Ник,

во-первых, я посмотрел на ваши фрагменты кода и вот эти доктора[^Если этот ответ вам не поможет, нам понадобится небольшой пример кода.


  • То ngTableParams.count настройте 4 записи на страницу. Итак, на странице 1 Вы получаете пункт от 0 до 3 из sample массив. На стр. 2, пункт 4 и выше. Именно по этой причине вы должны получить 2 страницы.
  • То ng-if оператор будет добавлять строки в DOM только в том случае, если соответствующие данные не содержат 'test' строка. Поскольку его нет в данных первой страницы, это может быть причиной того, что он пуст.


Я не знаю вашего варианта использования. Фильтрация данных обычно проще в контроллере,чем в представлении. Я бы предложил переместить эту функциональность в контроллер и сделать доступными для просмотра только видимые записи.

Другим вариантом может быть более пристальный взгляд на данные таблицы и ng-if состояние...

Надеюсь, это может вам помочь. Если у вас возникнут вопросы, дайте мне знать.
– Константин