AngularJS

**AngularJS** — JavaScript-фрэймворк з адкрытым зыходным кодам. Прызначаны для распрацоўкі аднастаронкавых праграмных модуляў. Яго мэта — пашырэньня браўзэрных праграмных прадуктаў на аснове Model-View-Controller (MVC) шаблёна, а таксама палягчэньне ў тэставаньні й распрацоўцы праграмы.

Фрэймворк працуе з HTML, які ўтрымлівае дадатковыя карыстальніцкія атрыбуты, якія апісваюцца дырэктывамі, і зьвязвае ўвод або вынік вобласьці старонкі з мадэльлю, якая ўяўляе сабой звычайныя зьменныя Javascript. Значэньні гэтых зьменных задаюцца ўручную або здабываюцца з статычных або дынамічных JSON-зьвестак.

## Філязофія Angular
AngularJS спраектаваны зь перакананьнем, што дэклярацыйнае праграмаваньне лепш за ўсё падыходзіць для пабудовы карыстальніцкіх інтэрфэйсаў і апісаньня праграмных кампанэнтаў, у той час як імпэратыўнае праграмаваньне выдатна падыходзіць для апісаньня бізнэс-лёгікі. Фрэймфорк адаптуе й пашырае традыцыйны HTML, каб забясьпечыць двухбаковую прывязку дадзеных для дынамічнага кантэнту, што дазваляе аўтаматычна сынхранізаваць мадэль і прадстаўленьне. У выніку AngularJS зьмяншае ролю DOM-маніпуляцыяў і паляпшае тэстуемасьць.

### Мэты распрацоўкі
* Аддзяленьне DOM-маніпуляцыі ад лёгікі праграмы, што паляпшае тэставаньне кода.
* Стаўленьне да тэставаньня як да істотнай часткі распрацоўкі. Складанасьць тэставаньня наўпрост залежыць ад структуранасьці кода.
* Падзел кліенцкага і сэрвэрнага боку, што дазваляе весьці распрацоўку паралельна.
* Правядзеньне распрацоўніка праз увесь шлях стварэньня праграмы: ад праектаваньня карыстальніцкага інтэрфэйсу, праз напісаньне бізнэс-лёгікі, да тэставаньня.

Angular прытрымліваецца MVC-шаблёну праектаваньня й падтрымлівае слабую сувязь паміж прадстаўленьнем, зьвесткамі й лёгікай кампанэнтаў. Выкарыстоўваючы ўкараненьне залежнасьці, Angular пераносіць на кліенцкі бок такія клясычныя сэрвэрныя службы, як відэазалежныя кантролеры. Такім чынам, памяншаецца нагрузка на сэрвэр і вэб-прылажэньне становіцца лягчэй.

## Папулярныя Angular-дырэктывы
З дапамогаю дырэктываў AngularJS можа ствараць карыстальніцкія HTML-тэгі й атрыбуты, каб дадаваць паводзіны некаторым элемэнтам.

;**ng-app**:Аб’яўляе элемэнт карнявым для праграмы.
;**ng-bind**:Аўтаматычна зьмяняе тэкст HTML-элемэнта на перададзенага выразу.
;**ng-model**:Тое ж, што й ng-bind, толькі забясьпечвае двухбаковае зьвязваньне дадзеных. Зьменіцца зьмесьціва элемэнта, ангуляр зьменіць і значэньне мадэлі. Зьменіцца значэньне мадэлі, ангуляр зьменіць тэкст ўнутры элемэнта.
;**ng-class**:Вызначае клясы для дынамічнай загрузкі.
;**ng-controller**:Вызначае JavaScript-кантролер для вылічэньня HTML-выразаў.
;**ng-repeat**:Стварае копію для кожнага элемэнта з калекцыі.
;**ng-show і ng-hide**:Паказвае або хавае элемэнт у залежнасьці ад значэньня лягічнага выразу.
;**ng-switch**:Стварае асобнік шаблёну з мноства варыянтаў, у залежнасьці ад значэньня выразу.
;**ng-view**:Базавая дырэктыва, адказвае за апрацоўку маршрутаў, якія прымаюць JSON перад адлюстраваньнем шаблёнаў, якія кіруюцца названымі кантролерамі.
;**ng-if**:Базавая дырэктыва, якая дазваляе паказаць наступны элемэнт, калі ўмовы выконваюцца. Калі ўмова хлусьлівая, элемэнт выдаляецца з DOM.
;**ng-aria**:Модуль забясьпечвае падтрымку агульных атрыбутаў ARIA.

## Крыніцы

Катэгорыя:AJAX
Катэгорыя:JavaScript
Катэгорыя:Праграмнае забесьпячэньне Google