Home » AngularJS 入門教學

[AngularJS]AngularJS 入門教學 - Hello AngularJS!!

範例 1

上課時有同學問到說是否能用 JavaScript 做出欄位跟變數是雙向綁定的效果,其實蠻多標榜 MV* 框架基本上都會有支援的,像是筆者現在要介紹的 AngularJS

hello-angularjs-0

AngularJS 是由 Google 開發並進行推廣的,透過簡單的宣告式語法(Directives Syntax)就能立即產生資料綁定的效果,讓加快開發 Web 應用程式的速度及程式的複雜度。說再多可能都很難懂它能做什麼,就讓我們直接來體驗一下什麼是資料綁定吧!

首先準備個簡單的 HTML 內容(practice/index.html):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<!doctype html>
<html>
<head>
	<meta charset="UTF-8">
	<title>男丁格爾's 脫殼玩 - AngularJS</title>
	<link rel="stylesheet" href="http://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.3.2/css/bootstrap.min.css">
	<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0rc1/angular.min.js"></script>
</head>
<body>
	<div class="well span6">
		<label>Name:</label>
		<input type="text" placeholder="Enter a name here">
		<hr>
		<h1>Hello AngularJS!!</h1>
	</div>
</body>
</html>

這邊一樣得先引用 angular.js,接著在 html 標籤中加入 ng-app 的屬性,這樣當 angular.js 載入後自然會知道那個區塊是它要處理的範圍。

1
<html ng-app>

然後筆者希望當使用者在輸入方塊輸入任何內容都能取代下面 h1 標籤中的 "AngularJS"。所以呢,先在輸入方塊中加入一個 ng-model 屬性,並指定屬性值為 name。這邊的屬性值你可以先把它當成是變數。

1
<input type="text" ng-model="name" placeholder="Enter a name here">

接著將 h1 中的 "AngularJS" 替換成 Angular 表達式(Angular Expressions),語法為 {{ expression }},其中的 expression 就可以放入像是 ng-model 的屬性值(變數)

1
<h1>Hello {{ name }}!!</h1>

最後存檔預覽應該就能看到實際的畫面了:
hello-angularjs-1

請試著再輸入方塊中輸入你的名字吧,如果以上過程都正確的話,應該會看到跟筆者很類似的畫面:
hello-angularjs-2

啊不過若沒有輸入的話,就只有 "Hello !!" 的字樣,如果想要有個預設值為 "AngularJS" 的話呢?請在 {{ name }} 中多加入個簡單的條件判斷:

1
{{ name || "AngularJS" }}

這樣當使用者沒輸入任何名字時,將會預設顯示 "Hello AngularJS!!" 囉!
hello-angularjs-3

好啦~接下來就是作業時間囉!請再多新增一個輸入方塊,讓問候語 "Hello" 也能透過輸入的方塊來改變吧!
hello-angularjs-4

範例 1

檔案描述
基本的範例檔案(免空) 開始下載
基本的範例檔案 會員限定

發表迴響