Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
| java-script:angularjs:lessons [2016/01/09 13:50] – [API Директив] mirocow | java-script:angularjs:lessons [Дата неизвестна] (текущий) – внешнее изменение (Дата неизвестна) 127.0.0.1 | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| {{tag> | {{tag> | ||
| - | ====== Angular.JS ====== | + | ====== Angular.JS |
| MVC - Java-Script это | MVC - Java-Script это | ||
| Строка 7: | Строка 7: | ||
| ====== APP / Modules ====== | ====== APP / Modules ====== | ||
| - | * Module - Базовый контейнер для app включает в себя controllers, | + | * [[java-script: |
| - | * Service - Бизнес логика для отображения в views | + | * [[java-script: |
| + | * [[java-script: | ||
| + | * [[java-script: | ||
| * Dependency-Injection - Создает ленивые связи с объектами | * Dependency-Injection - Создает ленивые связи с объектами | ||
| * Injector - dependency injection container | * Injector - dependency injection container | ||
| * [[java-script: | * [[java-script: | ||
| * Template - HTML шаблон | * Template - HTML шаблон | ||
| - | * [[java-script: | + | * [[java-script: |
| * Markup - Обработка шаблона {{ }} | * Markup - Обработка шаблона {{ }} | ||
| - | * Filter - Обработка данных перед выводом | + | * [[java-script: |
| - | * Form controls - | + | * [[java-script: |
| * Compiler - parses the template and instantiates directives and expressions | * Compiler - parses the template and instantiates directives and expressions | ||
| * [[java-script: | * [[java-script: | ||
| - | * Behavior - Функции внутри контролера | + | * [[java-script: |
| * Model - Данные содержащиеся в контролере | * Model - Данные содержащиеся в контролере | ||
| * [[java-script: | * [[java-script: | ||
| Строка 117: | Строка 119: | ||
| ==== API Директив ==== | ==== API Директив ==== | ||
| - | <code javascript> | + | * [[java-script:angularjs:diretive:api]] |
| - | angular.module(' | + | |
| - | return { | + | |
| - | restrict: ' | + | |
| - | replace: true, | + | |
| - | scope: true, | + | |
| - | controllerAs: | + | |
| - | controller: function () { | + | |
| - | + | ||
| - | }, | + | |
| - | link: function ($scope, $element, $attrs) { | + | |
| - | + | ||
| - | }, | + | |
| - | template: [ | + | |
| - | '< | + | |
| - | 'My directive!', | + | |
| - | '</ | + | |
| - | | + | |
| - | }; | + | |
| - | }); | + | |
| - | </ | + | |
| === Пример кастомных директив === | === Пример кастомных директив === | ||
| Строка 219: | Строка 201: | ||
| </ | </ | ||
| </ | </ | ||
| + | </ | ||
| + | |||
| + | ==== Пример ==== | ||
| + | |||
| + | <code javascript> | ||
| + | app.service(' | ||
| + | this.sayHello = function() { | ||
| + | return " | ||
| + | }; | ||
| + | }); | ||
| + | </ | ||
| + | |||
| + | ===== Factory ===== | ||
| + | |||
| + | <code javascript> | ||
| + | app.factory(' | ||
| + | return { | ||
| + | sayHello: function() { | ||
| + | return " | ||
| + | } | ||
| + | }; | ||
| + | }); | ||
| + | </ | ||
| + | |||
| + | ===== Provider ===== | ||
| + | |||
| + | <code javascript> | ||
| + | app.provider(' | ||
| + | |||
| + | this.name = ' | ||
| + | |||
| + | this.$get = function() { | ||
| + | var name = this.name; | ||
| + | return { | ||
| + | sayHello: function() { | ||
| + | return " | ||
| + | } | ||
| + | } | ||
| + | }; | ||
| + | |||
| + | this.setName = function(name) { | ||
| + | this.name = name; | ||
| + | }; | ||
| + | }); | ||
| </ | </ | ||
| ===== Controller ===== | ===== Controller ===== | ||
| Строка 479: | Строка 505: | ||
| ==== Filters ==== | ==== Filters ==== | ||
| - | | + | Фильтры обрабатывают информацию и выдают определённые наборы данных, |
| + | |||
| + | <note tip> | ||
| + | |||
| + | <note tip> | ||
| + | |||
| + | | ||
| * uppercase | * uppercase | ||
| * date:" | * date:" | ||
| - | * orderBy | + | * orderBy |
| * [[java-script: | * [[java-script: | ||
| Строка 501: | Строка 533: | ||
| soldOut: true, | soldOut: true, | ||
| } | } | ||
| + | </ | ||
| + | |||
| + | === limitTo === | ||
| + | |||
| + | Обычно применяется совместно с директивой ng-repeat | ||
| + | |||
| + | <code javascript> | ||
| + | <ul> | ||
| + | <li ng-repeat=" | ||
| + | {{ user.name }} | ||
| + | </li> | ||
| + | </ul> | ||
| </ | </ | ||
| Строка 546: | Строка 590: | ||
| * [[http:// | * [[http:// | ||
| + | |||
| + | ====== Привязка данных ====== | ||
| + | |||
| + | ===== Bind ===== | ||
| + | |||
| + | * ng-bind: осуществляет привязку к свойству innerText html-элемента | ||
| + | * ng-bind-html: | ||
| + | * ng-bind-template: | ||
| + | * ng-model: создает двустороннюю привязку | ||
| + | * ng-non-bindable: | ||
| ====== View / Представление ====== | ====== View / Представление ====== | ||
| - | ====== Шаблонизация и импорт HTML ====== | + | ===== Form ===== |
| + | |||
| + | * [[java-script: | ||
| + | ===== Шаблонизация и импорт HTML ===== | ||
| * Все загруженные шаблоны хранятся в $templateCache в течение всей жизни приложения. | * Все загруженные шаблоны хранятся в $templateCache в течение всей жизни приложения. | ||