AngularJS入門(mén)教程之Hello World!
開(kāi)始學(xué)習(xí)AngularJS的一個(gè)好方法是創(chuàng)建經(jīng)典應(yīng)用程序“Hello World!”:
1.使用您喜愛(ài)的文本編輯器,創(chuàng)建一個(gè)HTML文件,例如:helloworld.html。
2.將下面的源代碼復(fù)制到您的HTML文件。
3.在web瀏覽器中打開(kāi)這個(gè)HTML文件。
源代碼:
<!doctype html>
<html ng-app>
<head>
<script src="http://code.angularjs.org/angular-1.0.1.min.js"></script>
</head>
<body>
Hello {{'World'}}!
</body>
</html>
請(qǐng)?jiān)谀臑g覽器中運(yùn)行以上代碼查看效果。
現(xiàn)在讓我們仔細(xì)看看代碼,看看到底怎么回事。 當(dāng)加載該頁(yè)時(shí),標(biāo)記ng-app告訴AngularJS處理整個(gè)HTML頁(yè)并引導(dǎo)應(yīng)用:
<html ng-app>
這行載入AngularJS腳本:
<script src="http://code.angularjs.org/angular-1.0.1.min.js"></script>
(想了解AngularJS處理整個(gè)HTML頁(yè)的細(xì)節(jié),請(qǐng)看Bootstrap。)
最后,標(biāo)簽中的正文是應(yīng)用的模板,在UI中顯示我們的問(wèn)候語(yǔ):
Hello {{'World'}}!
注意,使用雙大括號(hào)標(biāo)記{{}}的內(nèi)容是問(wèn)候語(yǔ)中綁定的表達(dá)式,這個(gè)表達(dá)式是一個(gè)簡(jiǎn)單的字符串‘World'。
下面,讓我們看一個(gè)更有趣的例子:使用AngularJS對(duì)我們的問(wèn)候語(yǔ)文本綁定一個(gè)動(dòng)態(tài)表達(dá)式。
Hello AngularJS World!
本示例演示AngularJS的雙向數(shù)據(jù)綁定(bi-directional data binding):
1.編輯前面創(chuàng)建的helloworld.html文檔。
2.將下面的源代碼復(fù)制到您的HTML文件。
3.刷新瀏覽器窗口。
源代碼:
<!doctype html>
<html ng-app>
<head>
<script src="http://code.angularjs.org/angular-1.0.1.min.js"></script>
</head>
<body>
Your name: <input type="text" ng-model="yourname" placeholder="World">
<hr>
Hello {{yourname || 'World'}}!
</body>
</html>
請(qǐng)?jiān)谀臑g覽器中運(yùn)行以上代碼查看效果。
該示例有一下幾點(diǎn)重要的注意事項(xiàng):
1.文本輸入指令<input ng-model="yourname" />綁定到一個(gè)叫yourname的模型變量。
2.雙大括號(hào)標(biāo)記將yourname模型變量添加到問(wèn)候語(yǔ)文本。
3.你不需要為該應(yīng)用另外注冊(cè)一個(gè)事件偵聽(tīng)器或添加事件處理程序!
現(xiàn)在試著在輸入框中鍵入您的名稱,您鍵入的名稱將立即更新顯示在問(wèn)候語(yǔ)中。 這就是AngularJS雙向數(shù)據(jù)綁定的概念。 輸入框的任何更改會(huì)立即反映到模型變量(一個(gè)方向),模型變量的任何更改都會(huì)立即反映到問(wèn)候語(yǔ)文本中(另一方向)。
AngularJS應(yīng)用的解析
本節(jié)描述AngularJS應(yīng)用程序的三個(gè)組成部分,并解釋它們?nèi)绾斡成涞侥P?視圖-控制器設(shè)計(jì)模式:
模板(Templates)
模板是您用HTML和CSS編寫(xiě)的文件,展現(xiàn)應(yīng)用的視圖。 您可給HTML添加新的元素、屬性標(biāo)記,作為AngularJS編譯器的指令。 AngularJS編譯器是完全可擴(kuò)展的,這意味著通過(guò)AngularJS您可以在HTML中構(gòu)建您自己的HTML標(biāo)記!
應(yīng)用程序邏輯(Logic)和行為(Behavior)
應(yīng)用程序邏輯和行為是您用JavaScript定義的控制器。AngularJS與標(biāo)準(zhǔn)AJAX應(yīng)用程序不同,您不需要另外編寫(xiě)偵聽(tīng)器或DOM控制器,因?yàn)樗鼈円呀?jīng)內(nèi)置到AngularJS中了。這些功能使您的應(yīng)用程序邏輯很容易編寫(xiě)、測(cè)試、維護(hù)和理解。
模型數(shù)據(jù)(Data)
模型是從AngularJS作用域?qū)ο蟮膶傩砸甑?。模型中的?shù)據(jù)可能是Javascript對(duì)象、數(shù)組或基本類型,這都不重要,重要的是,他們都屬于AngularJS作用域?qū)ο蟆?/p>
AngularJS通過(guò)作用域來(lái)保持?jǐn)?shù)據(jù)模型與視圖界面UI的雙向同步。一旦模型狀態(tài)發(fā)生改變,AngularJS會(huì)立即刷新反映在視圖界面中,反之亦然。
此外,AngularJS還提供了一些非常有用的服務(wù)特性:
1.底層服務(wù)包括依賴注入,XHR、緩存、URL路由和瀏覽器抽象服務(wù)。
2.您還可以擴(kuò)展和添加自己特定的應(yīng)用服務(wù)。
3.這些服務(wù)可以讓您非常方便的編寫(xiě)WEB應(yīng)用。
- AngularJS入門(mén)教程之Helloworld示例
- AngularJS入門(mén)教程之路由機(jī)制ngRoute實(shí)例分析
- AngularJS入門(mén)教程之?dāng)?shù)據(jù)綁定原理詳解
- AngularJS入門(mén)教程之與服務(wù)器(Ajax)交互操作示例【附完整demo源碼下載】
- AngularJS入門(mén)教程之Cookies讀寫(xiě)操作示例
- AngularJS入門(mén)教程之多視圖切換用法示例
- AngularJS入門(mén)教程之過(guò)濾器用法示例
- AngularJS入門(mén)教程之模塊化操作用法示例
- AngularJS入門(mén)教程之MVC架構(gòu)實(shí)例分析
- AngularJs入門(mén)教程之環(huán)境搭建+創(chuàng)建應(yīng)用示例
- AngularJS入門(mén)教程之REST和定制服務(wù)詳解
- AngularJS入門(mén)示例之Hello World詳解
相關(guān)文章
Angular實(shí)現(xiàn)的進(jìn)度條功能示例
這篇文章主要介紹了Angular實(shí)現(xiàn)的進(jìn)度條功能,結(jié)合實(shí)例形式較為詳細(xì)的分析了angular進(jìn)度條功能的相關(guān)界面布局、功能等操作技巧,需要的朋友可以參考下2018-02-02angular2組件中定時(shí)刷新并清除定時(shí)器的實(shí)例講解
今天小編就為大家分享一篇angular2組件中定時(shí)刷新并清除定時(shí)器的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-08-08AngularJS實(shí)現(xiàn)tab選項(xiàng)卡的方法詳解
這篇文章主要介紹了AngularJS實(shí)現(xiàn)tab選項(xiàng)卡的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了AngularJS實(shí)現(xiàn)tab選項(xiàng)卡的原理、實(shí)現(xiàn)技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下2017-07-07使用AngularJS2中的指令實(shí)現(xiàn)按鈕的切換效果
這篇文章主要介紹了使用AngularJS2中的指令實(shí)現(xiàn)按鈕的切換效果,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-03-03AngularJS實(shí)現(xiàn)單獨(dú)作用域內(nèi)的數(shù)據(jù)操作
這篇文章給大家介紹了利用AngularJs如何實(shí)現(xiàn)ng-repeat內(nèi)各個(gè)小的子作用域單獨(dú)數(shù)據(jù)綁定。有需要的小伙伴們可以參考借鑒,下面來(lái)一起看看吧。2016-09-09AngularJS實(shí)現(xiàn)注冊(cè)表單驗(yàn)證功能
這篇文章主要為大家詳細(xì)介紹了AngularJS實(shí)現(xiàn)注冊(cè)表單驗(yàn)證功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10