[AngularJS] 介紹

[AngularJS] 介紹

AngularJS 框架

AngularJS是由Google研發的前端JavaScript框架,與其它JavaScript框架最大的不同在於AngularJS能直接延伸現有的HTML架構,透過簡單的宣告式語法(Directives Syntax)就可以直接給予HTML資料綁定的效果,讓Web應用程式在元件化的過程變得極其簡潔有力。並通過雙向的資料綁定(Two Way Data-Binding)來適應動態內容。雙向資料綁定允許Model和View之間自動同步。

AngularJS的特性:

  • 資料雙向綁定 - 更新AngularJS的model資料時,幫定的資料也跟著改變。例如輸入資料後,顯示欄位立即變化。達到即時更新頁面。
  • 宣告式語法 - 透過簡單的宣告達成資料綁定的效果。
  • MVC模式 - 切成Model-View-Controll,關注點分離。View是HTML、Model是ng-model、而Controller就是JavaScript 。
  • 相依性注入 - 依照參數名稱當成相依性,將物件自動注入到其他元件。

使用 AngularJS

首先,先來看看AngularJS 的程式長這樣~

<!DOCTYPE html>
<html>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<body>
    <div ng-app="">

        <label>姓名:</label>
        <input type="text" ng-model="name" placeholder="請輸入">
        <hr />
        <h3>我的名字是 {{name}}</h3>

    </div>
</body>
</html>

 

AngularJS是一個JavaScript Framework,在使用AngularJS前,先載入library。

<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>

 

在 <div ng-app="">中的ng-app指令,表示 <div>裡為AngularJS的應用範圍。

<div ng-app="">

 

ng-model會將HTML控制項(input, select, textarea)的值,綁定於name。

<input type="text" ng-model="name" placeholder="請輸入">

 

在<h3>的innerHTML 會綁定name的值。

<h3>我的名字是 {{name}}</h3>

 

 ng-init

ng-init可以設定AngularJS的初始值 ,如下:

<div ng-app="" ng-init="firstName='Berry'">

<p>我的名字是 <span ng-bind="firstName"></span></p>

</div>

AngularJS 表達式

AngularJS 表達式為:  {{ expression }}  

AngularJS 會在編寫表達式的地方輸出資料。

<!DOCTYPE html>
<html>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<body>

    <div ng-app="">
        <p>表達式: {{ 5 + 5 }}</p>
    </div>

</body>
</html>

AngularJS表達式可以雙向綁定AngularJS的資料,如下會將欄位輸入的值同步顯示在下方:

<!DOCTYPE html>
<html>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<body>

    <div ng-app="">

        <label>姓名:</label>
        <input type="text" ng-model="name" placeholder="請輸入">
        <hr />
        <h3>我的名字是 {{name}}</h3>

    </div>

</body>
</html>

AngularJS 應用

modules定義AngularJS。

controllers控制AngularJS。

ng-app定義AngularJS的應用區域,ng-controller定義controller

<div ng-app="myApp" ng-controller="myCtrl">

    X: <input type="text" ng-model="X"><br>
    Y: <input type="text" ng-model="Y"><br>
    <br>
    X+Y: {{X + Y}}

</div>

<script>
    var app = angular.module('myApp', []);
    app.controller('myCtrl', function ($scope) {
    $scope.X = 5;
    $scope.Y = 10;
    });
</script>

AngularJS Module

AngularJS modules定義ng-appmyApp

var app = angular.module('myApp', []);

AngularJS Controller

AngularJS controllers控制資料。

app.controller('myCtrl', function ($scope) {
    $scope.X = 5;
    $scope.Y = 10;
});

 

 

 END 

回目錄