Инструкции AngularJS
- Предыдущая страница Модули AngularJS
- Следующая страница Модели AngularJS
AngularJS позволяет вам использовать так называемые “директивыновые свойства для расширения HTML.
AngularJS имеет набор встроенных директив, которые могут предоставлять функциональность для вашего приложения.
AngularJS также позволяет вам определять свои собственные инструкции.
Инструкции AngularJS
Инструкции AngularJS являются расширенными свойствами HTML, имеющими префикс ng-
.
ng-app
Инструкции инициализируют приложение AngularJS.
ng-init
Инструкции инициализируют данные приложения.
ng-model
Инструкции связывают значение HTML-контроллера (input, select, textarea) с данными приложения.
Пожалуйста, читайте информацию о всех инструкциях AngularJS в нашей статье о инструкциях AngularJS.
instance
<div ng-app="" ng-init="firstName='Bill'"> <p>Имя: <input type="text" ng-model="firstName"></p> <p>Вы написали: {{ firstName }}</p> </div>
ng-app
инструкции также говорят AngularJS, что элемент <div> является "владельцем" приложения AngularJS.
Привязка данных
в предыдущем примере {{ firstName }}
Выражение - это выражение привязки данных AngularJS.
Привязка данных AngularJS связывает выражения AngularJS с данными AngularJS.
{{ firstName }}
с ng-model="firstName"
связаны.
В следующем примере два текстовых поля связаны двумя инструкциями ng-model:
instance
<div ng-app="" ng-init="quantity=1;price=5"> Количество: <input type="number" ng-model="quantity"> Затраты: <input type="number" ng-model="price"> Общее в долларах: {{ quantity * price }} </div>
Использование ng-init
не очень часто. Вы узнаете, как инициализировать данные, в главе о контроллерах.
повторение HTML элементов
ng-repeat
Инструкции повторения HTML элементов:
instance
<div ng-app="" ng-init="names=['Jani','Hege','Kai']"> <ul> <li ng-repeat="x in names"> {{ x }} </li> </ul> </div>
ng-repeat
инструкции фактически клонируют каждый элемент в набореклонировать один HTML элемент.
используется для массива объектов ng-repeat
Инструкции:
instance
<div ng-app="" ng-init="names=[ {name:'Jani',country:'Norway'}, {name:'Hege',country:'Sweden'}, {name:'Kai',country:'Denmark'}] <ul> <li ng-repeat="x in names"> {{ x.name + ', ' + x.country }} </li> </ul> </div>
AngularJS очень подходит для приложений CRUD (создание, чтение, обновление, удаление) с базой данных.
Представьте себе, если эти объекты являются записями из базы данных.
Инструкция ng-app
ng-app
Инструкция ng-init определяетЭлемент-корень.
при загрузке веб-страницы:ng-app
ИнструкцияАвтоматический запуск(автоматическая инициализация) приложения.
Инструкция ng-init
ng-init
Инструкция ng-init определяетНачальное значение.
Обычно, вы не используете ng-init. Вы будете использовать контроллер или модуль.
Позже вы узнаете больше о контроллерах и модулях.
Инструкция ng-model
ng-model
Инструкции связывают значение HTML-контроллера (input, select, textarea) с данными приложения.
ng-model
Инструкции также могут:
- Предоставить типовую валидацию данных приложения (число, адрес электронной почты, обязательное поле)
- Предоставить состояние данных приложения (недействителен, грязный, каснулся, ошибка)
- Предоставить CSS-класс для HTML-элемента
- Привязать HTML-элемент к HTML-форме
Читать больше о ng-model
Информация о инструкции.
Создание новой инструкции
Кроме всех встроенных инструкций AngularJS, вы можете создать свои собственные.
Новая инструкция создается с использованием .directive
функцией создания.
Чтобы вызвать новую инструкцию, создайте HTML-элемент с тем же именем, что и новая инструкция.
Имя инструкций должно быть написано с заглавной буквы и использовать стиль camelCasew3TestDirective
но при вызове его, необходимо использовать разделитель - в имениw3-test-directive
:
instance
<body ng-app="myApp"> <w3-test-directive></w3-test-directive> <script> var app = angular.module("myApp", []); app.directive("w3TestDirective", function() { return { template : "<h1>Сделано с помощью инструкции!</h1>" }); }); </script> </body>
Вы можете вызвать инструкцию следующим образом:
- Имя элемента
- Атрибут
- Класс
- Комментарий
Следующие примеры都将产生相同的结果:
Имя элемента
<w3-test-directive></w3-test-directive>
Атрибут
<div w3-test-directive></div>
Класс
<div class="w3-test-directive"></div>
Комментарий
<!-- directive: w3-test-directive -->
Ограничение
Вы можете ограничить вашу инструкцию вызовом только через некоторые методы.
instance
добавив значение "A"
of restrict
Атрибут, этот инструкция может быть вызван только через атрибуты:
var app = angular.module("myApp", []); app.directive("w3TestDirective", function() { return { restrict : "A", template : "<h1>Сделано с помощью инструкции!</h1>" }); });
правильные значения restrict:
E
представляет имя элементаA
представляет атрибутC
представляет классM
представляет комментарий
По умолчанию это значение равно EA
Это означает, что можно вызывать имена элементов и атрибутов инструкций.
- Предыдущая страница Модули AngularJS
- Следующая страница Модели AngularJS