AngularJS

**AngularJS** (հայտնի է նաև *Angular* և *Angular.js* անուններով), բաց կոդով JavaScript framework է կառուցված MVC ճարտարապետության վրա, որը հիմնականում հովանավորվում է Գուգլ-ի կողմից։ AngularJs-ը ստեղծված է մեկէջյա Վեբ համակարգեր ստեղծելու համար։ Այն ձևափոխում է HTML-ն հավելյալ HTML tag-երի և HTML tag-երի ատրիբուտների միջոցով։ HTML tag-երի ատրիբուտների միջոցով հիմնականում արտացոլվում են կամ արժեքներ են ստանում JavaScript փոփոխականները։

AngularJs-ը նաև կիրառվում է IONIC framework-ում, օգտագործելով Apache Cordova-ն, հիբրիդային բջջային հավելվածներ ստեղծելու համար։

AngularJs-ը նաև հանդես է գալիս MEAN-ի frontend-ը, որը MongoDB, Express.js, AngularJs և Node.js տեխնոլոգիաների համագործակությունն է։

## Նկարագրություն
Մեթոդներ, որոնք նախանշված են $ http ծառայությունների համար՝

 * delete()
 * get()
 * head()
 * jsonp()
 * patch()
 * post()
 * put()

## Հատկություններ
*config– գեներացնում է հարցման ենթակա օբյեկտը
*data a string– սերվերից ստացվող պատասխանը կրող տող կամ էլեմենտ։
*headers– Վերնագրի մասին տեղեկություն հաղորդող ֆունկցիա։
*status –կարգավիճակի նույնականացման համարը ։
*statusText–  HTTP կարգավիճակը որոշող տող։

## Ներկառուցված  AngularJS կիրառական հրահանգներ
AngularJS  դիրեկտորիայի միջոցով հնարավոր է ստեղծել ծրագրավորման HTML-թեգեր և ատրիբուտներ, որպեսզի որոշ տարրերի հատկություններ վերագրվեն։

; ng-app: Ընտրում է օբյեկտ և հայտարարում է որպես արմատ` դիմումի համար.
; ng-bind: ՀՏՄԼ կոդը  փոխարինում է այն օբյեկտով, որն անմիջապես ստանում է փոխարկված արժեքը։
; ng-model: Նման է ng-bind-ին, միայն ապահովում է երկկողմանի կապը։ Փոփոխելով օբյեկտի պարունակությունը, անգուլյարը փոխում է նաև մոդելի նշանակությունը։ Մոդելի իմաստը փոխվելով՝  փոխվում է օբյեկտի ներքին պարունակությունը։
; ng-class: Դինամիկ դասերի համար սահմանում է  ներբեռնումներ։
; ng-controller: HTML արտահայտությունների համար սահմանում է Javascript- ի վերահսկիչ, որը կհամապատասխանի  MVC- ին։
; ng-repeat: Յուրաքանչյուր հավաքածուի համար սահմնաում է DOM- ի օրինակ։
; ng-show և ng-hide: Թաքցնում կամ ցուցադրում է օբյեկտը՝ կախված արտահայտության իմաստից։
; ng-switch: 
Տարբեր հնարավոր տարբերակներից ստեղծում է շաբլոնի մոդել, որը կհամապատասխանի արտահայտության արժեքին։
; ng-view: Բազային դիրեկտորիա, որը պատասխանատու է երթուղու մշակման համար, որոնք ընդունում են JSON- ն, նախքան տվյալ կարգավարների կողմից վերահսկվող կաղապարներ ցուցադրելը։ 
; ng-if: Ավելացնում կամ հեռացնում են DOM- դոմենի մի մասը, կախված արտահայտության արժեքից։  
Եթե ngIf- ին տրված արտահայտության արժեքը կեղծ է, ապա տարրը հեռացվում է DOM- ից, հակառակ դեպքում  կլոնավորված տարրը նորից տեղադրվում է DOM- ում։
Կան նաև դիրեկտիվներ, որոնք օգտագործում են շաբլոններ script թեգերում։

### Ստեղծման նպատակները
* առանձնացնել DOM-ի հետ աշխատանքը ծրագրի բիզնես տրամաբանությունից
* առանձնացնել frontend-ը backend-ից
* տրամադրել կառուցվածք, որում հստակ առանձնացված են օգտագործողի ինտերֆեյս () մշակողի, բիզնես տրամաբանությունը գրողի և տեսավորողի աշխատանքները

## Տվյալների երկկողմանի կապ
Տվյալների երկկողմանի կապը AngularJS -ում ամենակարևոր առանձնահատկությունն է, որը կրճատում է ծրագրային կոդերի քանակը՝  սերվերին ազատելով շաբլոնների հետ աշխատանքի անհրաժեշտությունից։ Դրա փոխարեն շաբլոնները դիտարկվում են որպես առանձին սովորական HTML, որը լրացված է մոդելում հատկանշված տվյալներով։  `$scope`  ծառայությունը  Angular-ում վերահսկում է մոդելի փոփոխությունները վերահսկիչի միջոցով։ Բացի դրանից, յուրաքանչյուր փոփոխությունն արտացոլվում է մոդելում։ Սա թույլատրում է անհրաժեշտության դեպքում շրջանցել  DOM-ը և վեբ-ծրագրերում հեշտացնում է սկզբնավորումն ու նախատիպերի սահմանումը։
Բերենք օրինակ, որտեղ դիմում է հղվում սերվերին.

 var app = angular.module('myApp', []);
 app.controller('myCtrl', function($scope, $http) {
 $http.get("welcome.htm")
 .then(function(response) {
 $scope.myWelcome = response.data;
 });
 });

Պատասխանն արտածվում է՝
Today's welcome message is:

Hello AngularJS Students

The $http service requests a page on the server, and the response is set as the value of the "myWelcome" variable.

## Plugin Chrome-ի համար
2012 թ. հուլիսին Անգուլար  թիմը Google Chrome զննարկիչի համար թողարկեց  Batarang անվանումով պլագին, որը հեշտացնում է այն վեբ-էջերի կարգավորումները, որոնք ստեղծված են Angular  խմբագրիչով։ 
Ընդլայնումը թույլ է տալիս հեշտությամբ հայտնաբերել խոչընդոտները և  կարգաբերող ծրագրերի համար առաջարկում է գրաֆիկական ինտերֆեյս։

## Ծանոթագրություններ

Կատեգորիա:JavaScript գրադարաններ
Կատեգորիա:2010 մշակված ծրագրային ապահովում