Model แိုแာแေแာแ application แဲแ data ေแြแို แိแ္းแแ္း แိแ္းแ်ဳแ္แแဲแแกแိုแ္းျแแ ္แါแแ္။
View แိုแာแေแာแ user แိုแ္แိုแ္ျแแ္ေแแแแ့္ application web page แိုแိုแိုแါแแ္။
Template แိုแာแေแာแ angular code ေแြေแါแ္းแားแဲแ Html code ေแြแဲျแแ ္แါแแ္။ angular แกေแแဲแ compile แแုแ္แေแးแါแူး။
Augular compile process
Angular แာ Template แဲแ Html tag ေแြ แိုแกแแ္แွာแါแแ္။แกဲแီแွာ ng-app directive แိုေแြแแာแဲแ $rootScope แแ ္แုแိုแแ္แီးแိုแ္แါแแ္။ျแီးแแ္ แกဲแီ tag แဲแ แกแဲแွာแွိแဲแ child DOM element ေแြแို แ แแ္ compile แုแ္แါေแာแแแ္။
แกဲแီแกแ်ိแ္แွာ compile แဲแ linking ေแแแဲแ process ႏွแ ္แုแိုแုแ္ေแးแါแแ္။compile process แာ child tag ေแြแဲแ directive ေแြแို แုိแ္แွာျแီး list แုแ္ေแးแါแแ္။ ျแီးแแ္ แฅီးแ ားေแးแกแုိแ္แ ီေแးแါแแ္။directive แแ ္แုแ ီแွာ แိုแ္แိုแ္ compile function แแွိႏွแ့္ျแီးแားျแแ ္แါแแ္။ แกဲแီ compile function แกแုแ္แုแ္แဲแแกแါแွာေแာแ แแ္แိုแ္แာ DOM element แို ျแแ္แแ္ ျแဳแုแ္แိုแแแြားแါแแ္။
แกဲแီ compile function ေแြrun ျแီးแြားแဲแแกแါแွေแာแ linking function ေแြแို return แกေแแဲแ แုแ္ေแးแါแแ္။แกဲแီ linking function ေแြแို angular แ run ျแီးแြားแဲแแกแါแွာေแာแ data bind แုแ္ျแီးแား ၊ event listener ေแြ bind ျแီးแား DOM element ေแြแို แုแ္ေแးแုိแ္แါแแ္။
แါแေแာแ angular แာ two way data binding ျแแ ္ျแီး แแ္แို bind แแ္แိုแာแို แွแ္းျแေแးแာျแแ ္แါแแ္။
แกแု two way data binding แိုแ္แแ္แိုแกแံုးျแဳႏိုแ္แแဲแိုแာแို demo แဲแแแြแွแ္းျแေแးแါแแ္။
Source Code
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<div ng-app="myApp" ng-controller="myCtrl">
First Name <input ng-model="firstname"><br/>
Last Name <input ng-model="lastname"><br/>
Full Name {{ firstname }} {{ lastname }}
</div>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.firstname = "Kyaw";
$scope.lastname = "Gyi";
});
</script>
Demo Example
First Name:
Last Name:
Full Name :{{ firstname }} {{ lastname }}
First Name:
Last Name:
Full Name :{{ firstname }} {{ lastname }}
แกแแ္แ demo example แဲแ source code แို ျแแ္แွแ္းျแေแးแါแแแ္။ ng-app directive แိုေแြแျแแ္းแกားျแแ့္ แแု application แာ แို div tag แกแိုแ္แกျแแ ္ angular แို แိျแแ္ေแ แါแแ္။แိုแျแแ္ angular application แแ ္แုแแ္แွိေแพแာแ္းแို แိေแ ျแီး compile process แို แ แแ္ေแ แါแแ္။
script tag แဲแြแ္แแ္း "myApp" application module แแ ္แုแိုแแ္ေแာแ္แားแာေแြแแแါแแ္။
ေแာแ္ app variable แဲแို application แို assign แုแ္แားแာေแြแแแါแแ္။
var app = angular.module('myApp', []);
ng-controller directive แာ แกဲแီ application แို control แုแ္ေแးแแ့္ controller แို แแ္แွแ္ေแးแာแါ။ controller object แกแแ ္ แแ ္แုแို แแ္แီးေแးแါแแ္။ child scope แแ ္แုแိုုแแ္းแแ္แီးေแးแါแแ္။ แီ application แဲแ scope แိုแแိုแိုแာแါ။ แါေแพแာแ့္ แီapplication แဲแွာ แแ္ေแာแ္แဲแ variable ေแြแกแြแ္ $scope แိုแแ့္แြแ္းေแးแားแแာျแแ ္แါแแ္။
eg: $scope.firstname, $scope.lastname
แกဲแီแို defined แုแ္ေแးแွ Html แแ္แ application scope แွာ แกแံုးျแဳႏိုแ္แွာျแแ ္แါแแ္။
$scope.firstname = "Kyaw";
$scope.lastname = "Gyi";
firstname แဲแ lastname แို assign แုแ္ေแးแာျแแ
္แါแแ္။ แกဲแို assign แုแ္ေแးแိုแ္แာแဲแng-model directive แံုးแားแဲแ input tag ေแြแဲแ แแ္แိုးแာ แกแိုแိုေျแာแ္းแြားแါแแ္။ view แဲแ model bind แားแာေแพแာแ့္ျแแ ္แါแแ္။
ေแာแ္แแုแพแแ္แแေแกာแ္
full name แွာแံုးแားแာแ expression แါ။ expression แို $scope varaible ေแြแဲแ แแ္แိုးแိုแုแ္ျแ แိုแဲแแกแါแွာแံုးႏိုแ္แါแแ္။
Full Name :{{ firstname }} {{ lastname }}
แါေแพแာแ့္ application แ
run แဲแแกแါแွာ แกေแแแ assign แုแ္แားแဲแ แแ္แိုးแกแိုแ္း firstname แဲแ lastname แို ေแာ္ျแေแแพแแာျแแ
္แါแแ္။ แกแ
แွာ Full name : Kyaw Gyi แိုျแီးျแแ္ေแแแွာแါ။แกแု input tag แဲแ แแ္แိုးแို ေျแာแ္းแพแแ့္แေแกာแ္ แါแို แူแေแกာแ္แွာ ေแးแားแဲแ full name แแိုแ္ေျแာแ္းแာแိုေแြแแแါแแ္။
แာแိုแแဲแိုေแာแ input tag แဲแ แแ္แိုး ေျแာแ္းแြားแာแဲแ แူแဲแ bind แုแ္แားแဲแ $scope variable แာ แုိแ္ေျแာแ္းแါแแ္။แါေแพแာแ့္ แกဲแီ $scope variable แို expression แกေแแဲแ ေแာ္ျแแားแဲแ full name ေแแာแွာ แုိแ္ေျแာแ္းေแแพแแာျแแ ္แါแแ္။
แါေแพแာแ့္ angular แို two way binding แိုแေแแแာျแแ ္แါแแ္။ $scope variable แဲ แแ္แိုးေျแာแ္းแဲแႈแာ bind แားแဲแ input tag element แဲแ แแ္แိုးแိုေျแာแ္းแဲေแ ျแီးေแာแ ၊ แกဲแီ input tag แဲแ แแ္แိုးแိုေျแာแ္းแိုแ္แแ္ แแ္း bind แားแဲแ scope variable แဲแ แแ္แိုးแแ္းေျแာแ္းแြားแါแแ္။
angular js แกေแพแာแ္းแို แกแแ္ႏိုแ္แံုး แแ္แႈแားแแ္ေแกာแ္แုแ္ျแီး ျแแ္แแ္ေแးแားแားแာျแแ ္แါแแ္။ ေแแ်ာေแါแ္ แုိแกแ္แ်แ္ေแြแွိေแႏိုแ္แါแแ္။ แါေแพแာแ့္ แီ post แေแ แားแแ္แแ့္แေแာแ္ แားแแ္ျแီးแแ္ online แွာแแ္း แแ္แแ္แแ္แႈแพแแแ္ แกแพแံျแဳแုိแါแแ္။
แိแ္แားแแแ္แူးแแ္แแ္ ႏွแ ္แါျแแ္แแ္แါ။
reference
http://www.w3schools.com/angular
https://docs.angularjs.org/guide
http://daginge.com/technology/2014/03/04/understanding-template-compiling-in-angularjs/

EmoticonEmoticon