Таблица AngularJS: Сортировка, Порядок & Фильтр верхнего регистра (примеры)

Содержание:

Anonim

Таблицы - один из распространенных элементов, используемых в HTML при работе с веб-страницами.

Таблицы в HTML создаются с использованием тега HTML.

  1. Тег - это основной тег, используемый для отображения таблицы.
  2. - этот тег используется для разделения строк в таблице.
  3. - этот тег используется для отображения фактических данных таблицы.
  4. - используется для данных заголовка таблицы.

    Используя указанные выше теги HTML вместе с AngularJS, мы можем упростить заполнение данных таблицы. Короче говоря, директива ng-repeat используется для заполнения табличных данных.

    В этой главе мы рассмотрим, как этого добиться. Мы также рассмотрим, как мы можем использовать фильтры orderby и uppercase вместе с атрибутом $ index для отображения индексов таблиц Angular.

    В этом руководстве вы узнаете:

    • Заполнение и отображение данных в таблице
    • Встроенный фильтр AngularJS
    • Сортировка таблицы с помощью фильтра OrderBy
    • Показать таблицу с фильтром в верхнем регистре
    • Отображение индекса таблицы ($ index)

    Заполнение и отображение данных в таблице

    Как мы обсуждали во введении к этой главе, основа для создания структуры таблицы на странице HTML остается прежней.

    Структура таблицы по-прежнему создается с использованием обычных HTML-тегов

    , ,
    и . Однако данные заполняются с помощью директивы ng-repeat в AngularJS.

    Давайте посмотрим на простой пример того, как мы можем реализовать таблицы Angular.

    В этом примере

    Мы собираемся создать таблицу Angular, в которой будут темы курса вместе с их описанием.

    Шаг 1) Сначала мы добавим тег «style» на нашу HTML-страницу, чтобы таблица могла отображаться как правильная таблица.

    1. Тег стиля добавляется на HTML-страницу. Это стандартный способ добавления любых атрибутов форматирования, необходимых для элементов HTML.
    2. Мы добавляем в нашу таблицу два значения стиля.
    • Во-первых, у нашей таблицы Angular должна быть сплошная граница и
    • Во-вторых, для данных таблицы Angular должно быть добавлено заполнение.

    Шаг 2) Следующим шагом является написание кода для создания таблицы и ее данных.

    Event Registration
    

    Guru99 Global Event

    {{ptutor.Name}}{{ptutor.Description}}

    Пояснение к коду:

    1. Сначала мы создаем переменную под названием «учебник» и назначаем ей несколько пар ключ-значение за один шаг. Каждая пара "ключ-значение" будет использоваться в качестве данных при отображении таблицы. Затем учебная переменная присваивается объекту области видимости, чтобы к нему можно было получить доступ из нашего представления.
    2. Это первый шаг в создании таблицы, и мы используем тег .
    3. Для каждой строки данных мы используем «директиву ng-repeat». Эта директива проходит через каждую пару «ключ-значение» в объекте области видимости tuto, rial с помощью переменной ptutor.
    4. Наконец, мы используем тег
    5. вместе с парами ключ-значение (ptutor.Name и ptutor.Description) для отображения данных таблицы Angular.

      Если код выполнен успешно, при запуске кода в браузере будет показан следующий результат.

      Выход:

      Из приведенного выше вывода

      • Мы видим, что таблица отображается правильно с данными из массива пар ключ-значение, определенного в контроллере.
      • Табличные данные были сгенерированы путем перебора каждой из пар ключ-значение с использованием «директивы ng-repeat».

      Встроенный фильтр AngularJS

      Очень часто используются встроенные фильтры в AngularJS для изменения способа отображения данных в таблицах. Мы уже видели фильтры в действии в предыдущей главе. Давайте сделаем краткий обзор фильтров, прежде чем мы продолжим.

      В Angular.JS фильтры используются для форматирования значения выражения перед его отображением пользователю. Примером фильтра является фильтр «верхнего регистра», который принимает строковый вывод, форматирует строку и отображает все символы в строке в верхнем регистре.

      Итак, в приведенном ниже примере, если значение переменной «TutorialName» равно «AngularJS», вывод следующего выражения будет «ANGULARJS».

      {{TurotialName | верхний регистр }}

      В этом разделе мы более подробно рассмотрим, как фильтры orderBy и uppercase могут использоваться в таблицах.

      Сортировка таблицы с помощью фильтра OrderBy

      Этот фильтр используется для сортировки таблицы по одному из столбцов таблицы. В предыдущем примере выходные данные нашей таблицы Angular выглядели так, как показано ниже.

      Контроллеры Контроллеры в действии
      Модели Модели и данные привязки
      Директивы Гибкость директив

      Давайте рассмотрим пример того, как мы можем использовать фильтр «orderBy» и сортировать данные таблицы Angular, используя первый столбец в таблице.

      Event Registration
      

      Guru99 Global Event

      {{ptutor.Name}}{{ptutor.Description}}

      Пояснение к коду:

      1. Мы используем тот же код, что и для создания нашей таблицы, с той лишь разницей, что на этот раз мы используем фильтр «orderBy» вместе с директивой ng-repeat. В данном случае мы говорим, что хотим упорядочить таблицу по ключу «Имя».

      Если код выполнен успешно, при запуске кода в браузере будет показан следующий результат.

      Выход:

      На выходе

      • Мы видим, что данные в таблице Angular отсортированы в соответствии с данными в первом столбце. В нашем наборе данных данные «Директивы» берутся из данных «Модели», но поскольку мы применили фильтр orderBy, таблицы сортируются соответствующим образом.

      Показать таблицу с фильтром в верхнем регистре

      Мы также можем использовать фильтр верхнего регистра, чтобы изменить данные в таблице Angular на верхний регистр.

      Давайте посмотрим на пример того, как мы можем этого добиться.

      Event Registration
      

      Guru99 Global Event

      {{ptutor.Name | uppercase}}{{ptutor.Description}}

      Пояснение к коду:

      1. Мы используем тот же код, что и для создания нашей таблицы, с той лишь разницей, что на этот раз мы используем фильтр верхнего регистра. Мы используем этот фильтр вместе с «ptutor.Name», чтобы весь текст в первом столбце отображался в верхнем регистре.

      Если код выполнен успешно, при запуске кода в браузере будет показан следующий результат.

      Выход:

      На выходе

      • Мы видим, что при использовании фильтра «верхнего регистра» все данные в первом столбце отображаются с прописными буквами.

      Отображение индекса таблицы ($ index)

      Чтобы отобразить индекс таблицы, добавьте

      с $ index.

      Давайте посмотрим на пример того, как мы можем этого добиться.

      Event Registration
      

      Guru99 Global Event

      {{$index + 1}}{{ptutor.Name}}{{ptutor.Description}}

      Пояснение к коду:

      1. Мы используем тот же код, что и для создания нашей таблицы, с той лишь разницей, что на этот раз мы добавляем дополнительную строку в нашу таблицу для отображения столбца индекса.

        В этом дополнительном столбце мы используем свойство «$ index», предоставляемое AngularJS, а затем с помощью оператора +1 увеличиваем индекс для каждой строки.

      Если код выполнен успешно, при запуске кода в браузере будет показан следующий результат.

      Выход:

      На выходе

      • Вы можете видеть, что был создан дополнительный столбец. В этом столбце мы видим, какие индексы создаются для каждой строки.

      Резюме:

      • Структуры таблиц создаются с использованием стандартных тегов, доступных в HTML. Данные в таблице заполняются с помощью директивы «ng-repeat».
      • Фильтр orderBy можно использовать для сортировки таблицы по любому столбцу в таблице.
      • Фильтр верхнего регистра можно использовать для отображения данных в любом текстовом столбце в верхнем регистре.
      • Свойство «$ index» можно использовать для создания индекса для таблицы.
      • Одной из распространенных проблем, возникающих при разработке таблиц AngularJS.JS, является реализация больших наборов данных, содержащих более 1000 строк данных. Иногда директива ng-repeat может перестать отвечать, и, следовательно, время от времени перестает отвечать вся страница. В таком случае всегда лучше иметь разбивку на страницы, в которой строки данных распределены по нескольким страницам.