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-ից
տրամադրել կառուցվածք, որում հստակ առանձնացված են օգտագործողի ինտերֆեյս (անգլ.՝ UI) մշակողի, բիզնես տրամաբանությունը գրողի և տեսավորողի աշխատանքները


== Տվյալների երկկողմանի կապ ==
Տվյալների երկկողմանի կապը 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  խմբագրիչով։ 
Ընդլայնումը թույլ է տալիս հեշտությամբ հայտնաբերել խոչընդոտները և  կարգաբերող ծրագրերի համար առաջարկում է գրաֆիկական ինտերֆեյս ։


== Արտաքին հղումներ ==
Vue.js


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