Таблиця AngularJS: Сортування, порядок за & Верхній регістр фільтра (приклади)

Зміст:

Anonim

Таблиці - один із найпоширеніших елементів, що використовуються в HTML при роботі з веб-сторінками.

Таблиці в HTML розробляються за допомогою тегу HTML

  1. тег - це основний тег, який використовується для відображення таблиці.
  2. - Цей тег використовується для розділення рядків у таблиці.
  3. - Цей тег використовується для відображення фактичних даних таблиці.
  4. - Це використовується для даних заголовка таблиці.

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

    Про те, як цього досягти, ми розглянемо у цій главі. Ми також розглянемо, як ми можемо використовувати фільтри orderby та верхній регістр разом із використанням атрибута $ index для відображення індексів таблиці Angular.

    У цьому підручнику ви дізнаєтесь-

    • Заповнення та відображення даних у таблиці
    • Вбудований фільтр AngularJS
    • Сортувати таблицю з замовленням за допомогою фільтра
    • Відображення таблиці з великим фільтром
    • Відображення табличного індексу ($ індекс)

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

    Як ми обговорювали у вступі до цього розділу, основа для створення структури таблиці на HTML-сторінці залишається незмінною.

    Структура таблиці все ще створюється з використанням звичайних HTML-тегів

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

    Давайте розглянемо простий приклад того, як ми можемо реалізувати таблиці Angular.

    У цьому прикладі

    Ми збираємося створити кутову таблицю, яка буде містити теми курсу разом з їх описом.

    Крок 1) Спочатку ми збираємося додати тег "style" на нашу HTML-сторінку, щоб таблиця могла відображатися як належна таблиця.

    1. Тег стилю додається на сторінку HTML. Це стандартний спосіб додавання будь-яких атрибутів форматування, необхідних для елементів HTML.
    2. Ми додаємо до нашої таблиці два значення стилю.
    • Одне з них полягає в тому, що для нашої кутової таблиці і повинна бути суцільна межа
    • По-друге, для даних нашої таблиці Angular має бути встановлено заповнення.

    Крок 2) Наступним кроком є ​​написання коду для створення таблиці та її даних.

    Event Registration
    

    Guru99 Global Event

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

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

    1. Спочатку ми створюємо змінну під назвою "tutorial" і присвоюємо їй кілька пар ключ-значення за один крок. Кожна пара ключ-значення використовуватиметься як дані при відображенні таблиці. Потім змінна навчального посібника призначається об’єкту сфери, щоб він міг отримати доступ з нашого погляду.
    2. Це перший крок у створенні таблиці, і ми використовуємо тег .
    3. Для кожного рядка даних ми використовуємо "директиву ng-repeat". Ця директива проходить через кожну пару ключ-значення в об'єкті tuto, rial scope, використовуючи змінну ptutor.
    4. Нарешті, ми використовуємо тег
    5. разом з парами ключ-значення (ptutor.Name та ptutor.Description) для відображення даних таблиці Angular.

      Якщо код виконано успішно, під час запуску коду в браузері буде показано наступний результат.

      Вихід:

      З вищенаведеного виводу,

      • Ми бачимо, що таблиця відображається правильно з даними з масиву пар ключ-значення, визначених у контролері.
      • Дані таблиці були сформовані шляхом перегляду кожної з пар ключ-значення за допомогою "директиви ng-repeat".

      Вбудований фільтр AngularJS

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

      У Angular.JS фільтри використовуються для форматування значення виразу перед його відображенням користувачеві. Прикладом фільтра є фільтр "верхнього регістру", який приймає вихідний рядок, форматує рядок і відображає всі символи у рядку як великі.

      Отже, у наведеному нижче прикладі, якщо значенням змінної 'TutorialName' є 'AngularJS', результатом наведеного нижче виразу буде 'ANGULARJS'.

      {{TurotialName | великі регістри}}

      У цьому розділі ми розглянемо, як можна більш детально використовувати таблиці 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.

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

      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 може не реагувати, а отже, вся сторінка часом не реагує. У такому випадку завжди краще мати пагінацію, в якій рядки даних розподіляються на декількох сторінках.