Директиви AngularJS: ng-init, ng-app, ng-model & ng-repeat
Що таке Директива в AngularJS?
A Directive в AngularJS — це команда, яка надає нові функції HTML. Коли Angular переглядає HTML-код, він спочатку знаходить директиви на сторінці, а потім аналізує HTML-сторінку відповідно. Простим прикладом директиви AngularJS, яку ми бачили в попередніх розділах, є «директива ng-model». Ця директива використовується для прив’язки нашої моделі даних до нашого перегляду.
Примітка: Ви можете мати базовий код angular на сторінці HTML за допомогою директив ng-init, ng-repeat і ng-model без необхідності мати контролери. Логіка цих директив міститься у файлі Angular.js, який надає Google. Контролери — це конструкції angular програмування наступного рівня, які забезпечують бізнес-логіку, але, як уже згадувалося, для того, щоб програма була angular, наявність контролера необов’язкова.
Як створити директиви в AngularJS
Як ми визначили у вступі, директиви AngularJS є способом розширення функціональності HTML.
Існує 4 директиви, визначені в AngularJS.
Нижче наведено список директив AngularJS разом із прикладами, які пояснюють кожну з них.
ng-app в AngularJS
Це використовується для ініціалізації програми Angular.JS. Коли ця директива розміщена на сторінці HTML, вона в основному повідомляє Angular, що ця сторінка HTML є додатком angular.js.
Приклад np-app
У прикладі нижче показано, як використовувати директиву ng-app. У цьому прикладі ми просто покажемо, як зробити звичайний HTML-додаток додатком angularJS.
<!DOCTYPE html> <html> <head> <meta chrset="UTF 8"> <title>Event Registration</title> </head> <body> <script src="https://code.angularjs.org/1.6.9/angular-route.js"></script> <script src="https://code.angularjs.org/1.6.9/angular.js"></script> <script src="https://code.angularjs.org/1.6.9/angular.min.js"></script> <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script> <h1> Guru99 Global Event</h1> <div ng-app=""> Tutorial Name : {{ "Angular" + "JS"}} </div> </body> </html>
Пояснення коду:
- Директива «ng-app» додається до нашого тегу div, щоб вказати, що ця програма є програмою angular.js. Зауважте, що директиву ng-app можна застосувати до будь-якого тегу, тому її також можна помістити в тег body.
- Оскільки ми визначили цю програму як програму angular.js, тепер ми можемо використовувати функціональність angular.js. У нашому випадку ми використовуємо вирази для простого об’єднання 2 рядків.
Якщо код виконано успішно, під час запуску коду в браузері буде показано наступний результат.
вихід:
Результат чітко показує результат виразу, який став можливим лише тому, що ми визначили додаток як додаток angularjs.
ng-init в AngularJS
Це використовується для ініціалізації даних програми. Іноді вам можуть знадобитися деякі локальні дані для вашої програми, це можна зробити за допомогою директиви ng-init.
Приклад ng-init
У прикладі нижче показано, як використовувати директиву ng-init.
У цьому прикладі ми збираємося створити змінну під назвою «TutorialName» за допомогою директиви ng-init і відобразити значення цієї змінної на сторінці.
<!DOCTYPE html> <html> <head> <meta chrset="UTF 8"> <title>Event Registration</title> </head> <body> <script src="https://code.angularjs.org/1.6.9/angular-route.js"></script> <script src="https://code.angularjs.org/1.6.9/angular.js"></script> <script src="https://code.angularjs.org/1.6.9/angular.min.js"></script> <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script> <h1> Guru99 Global Event</h1> <div ng-app="" ng-init="TutorialName='Angular JS'"> Tutorial Name : {{ TutorialName}} </div> </body> </html>
Пояснення коду:
- Директива ng-init додається до нашого тегу div, щоб визначити локальну змінну під назвою «TutorialName», і їй надається значення «AngularJS».
- Ми використовуємо вирази в AngularJs для відображення результату назви змінної «TutorialName», яка була визначена в нашій директиві ng-init.
Якщо код виконано успішно, під час запуску коду в браузері буде показано наступний результат.
вихід:
На виході
- Результат чітко показує результат виразу, який містить рядок «AngularJS». Це результат присвоєння рядка «AngularJS» змінній «TutorialName» у розділі ng-init.
ng-модель в AngularJS
І, нарешті, у нас є директива ng-model, яка використовується для прив’язки значення елемента керування HTML до даних програми. У прикладі нижче показано, як використовувати директиву ng-model.
Приклад ng-моделі
У цьому прикладі
- Ми збираємося створити 2 змінні під назвою «кількість» і «ціна». Ці змінні будуть прив’язані до 2 елементів керування введенням тексту.
- Потім ми відобразимо загальну суму на основі множення значень ціни та кількості.
<!DOCTYPE html> <html> <head> <meta chrset="UTF 8"> <title>Event Registration</title> </head> <body> <script src="https://code.angularjs.org/1.6.9/angular-route.js"></script> <script src="https://code.angularjs.org/1.6.9/angular.js"></script> <script src="https://code.angularjs.org/1.6.9/angular.min.js"></script> <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script> <h1> Guru99 Global Event</h1> <div ng-app="" ng-init="quantity=1;price=5"> People : <input type="number" ng-model="quantity"> Registration Price : <input type="number" ng-model="price"> Total : {{quantity * price}} </div> </body> </html>
Пояснення коду:
- Директива ng-init додається до нашого тегу div для визначення 2 локальних змінних; один називається «кількість», а інший — «ціна».
- Тепер ми використовуємо директиву ng-model, щоб прив’язати текстові поля «People» і «Registration price» до наших локальних змінних «quantity» і «price» відповідно.
- Нарешті, ми показуємо загальну суму за допомогою виразу, який є множенням змінних кількості та ціни.
Якщо код виконано успішно, під час запуску коду в браузері буде показано наступний результат.
вихід:
- Вихідні дані чітко показують множення значень для людей і ціни реєстрації.
Тепер, якщо ви перейдете до текстових полів і зміните значення людей і ціни реєстрації, загальна сума автоматично зміниться.
- Наведений вище вихід просто показує потужність зв’язування даних у angularJs, яка досягається за допомогою директива ng-model.
ng-repeat в AngularJS
Це використовується для повторення елемента HTML. Наведений нижче приклад показує, як використовувати директива ng-repeat.
Приклад ng-repeat
У цьому прикладі
- Ми матимемо масив назв розділів у змінній масиву and
- потім використовуйте директиву ng-repeat, щоб відобразити кожен елемент масиву як елемент списку
<!DOCTYPE html> <html> <head> <meta chrset="UTF 8"> <title>Event Registration</title> </head> <body> <script src="https://code.angularjs.org/1.6.9/angular-route.js"></script> <script src="https://code.angularjs.org/1.6.9/angular.js"></script> <script src="https://code.angularjs.org/1.6.9/angular.min.js"></script> <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script> <h1> Guru99 Global Event</h1> <div ng-app="" ng-init="chapters=['Controllers','Models','Filters']"> <ul> <li ng-repeat="names in chapters"> {{names}} </li> </ul> </div> </body> </html>
Пояснення коду:
- Директива ng-init додається до нашого тегу div, щоб визначити змінну під назвою «chapters», яка є змінною масиву, що містить 3 рядки.
- Елемент ng-repeat використовується шляхом оголошення вбудованої змінної під назвою «names» і проходження кожного елемента в масиві chapters.
- Нарешті, ми показуємо значення локальної вбудованої змінної 'names'.
Якщо код виконано успішно, під час запуску коду в браузері буде показано наступний результат.
вихід:
- Наведений вище вихід просто показує, що директива ng-repeat взяла кожне значення в масиві під назвою «chapters» і створила елементи списку HTML для кожного елемента в масиві.
Підсумки
- Директиви використовуються для розширення функціональності HTML. Angular надає вбудовані директиви, такі як
- ng-app – використовується для ініціалізації програми angular.
- ng-init – використовується для створення змінних програми
- ng-model – використовується для прив’язки елементів керування HTML до даних програми
- ng-repeat – використовується для повторення елементів за допомогою angular.