
- AngularJS 教程
- AngularJS - 首頁
- AngularJS - 概述
- AngularJS - 環境搭建
- AngularJS - MVC 架構
- AngularJS - 第一個應用
- AngularJS - 指令
- AngularJS - 表示式
- AngularJS - 控制器
- AngularJS - 過濾器
- AngularJS - 表格
- AngularJS - HTML DOM
- AngularJS - 模組
- AngularJS - 表單
- AngularJS - 包含
- AngularJS - AJAX
- AngularJS - 檢視
- AngularJS - 作用域
- AngularJS - 服務
- AngularJS - 依賴注入
- AngularJS - 自定義指令
- AngularJS - 國際化
- AngularJS 應用
- AngularJS - 待辦事項應用
- AngularJS - 記事本應用
- AngularJS - Bootstrap 應用
- AngularJS - 登入應用
- AngularJS - 上傳檔案
- AngularJS - 內聯應用
- AngularJS - 導航選單
- AngularJS - 切換選單
- AngularJS - 訂單表單
- AngularJS - 搜尋標籤頁
- AngularJS - 拖拽應用
- AngularJS - 購物車應用
- AngularJS - 翻譯應用
- AngularJS - 圖表應用
- AngularJS - 地圖應用
- AngularJS - 分享應用
- AngularJS - 天氣應用
- AngularJS - 計時器應用
- AngularJS - Leaflet 應用
- AngularJS - Lastfm 應用
- AngularJS 有用資源
- AngularJS - 問答
- AngularJS - 快速指南
- AngularJS - 有用資源
- AngularJS - 討論
AngularJS - 概述
AngularJS是一個開源的Web應用程式框架。它最初由Misko Hevery和Adam Abrons於2009年開發,現在由Google維護。其最新版本為1.2.21。
AngularJS的官方文件對它的定義如下:
AngularJS是一個用於動態Web應用程式的結構化框架。它允許您使用HTML作為模板語言,並允許您擴充套件HTML的語法以清晰簡潔地表達您的應用程式元件。它的資料繫結和依賴注入消除了您目前必須編寫的大量程式碼。所有這一切都在瀏覽器中發生,使其成為任何伺服器技術的理想合作伙伴。
一般特性
AngularJS的一般特性如下:
AngularJS是一個高效的框架,可以建立豐富的網際網路應用程式(RIA)。
AngularJS為開發者提供了使用JavaScript以清晰的模型-檢視-控制器(MVC)方式編寫客戶端應用程式的選擇。
用AngularJS編寫的應用程式是跨瀏覽器相容的。AngularJS自動處理適合每個瀏覽器的JavaScript程式碼。
AngularJS是開源的,完全免費的,並被全球數千名開發者使用。它採用Apache許可證2.0版授權。
總的來說,AngularJS是一個構建大型、高效能、易於維護的Web應用程式的框架。
核心特性
AngularJS的核心特性如下:
資料繫結 - 它是模型和檢視元件之間資料的自動同步。
作用域 - 這些是指向模型的物件。它們充當控制器和檢視之間的粘合劑。
控制器 - 這些是繫結到特定作用域的JavaScript函式。
服務 - AngularJS附帶一些內建服務,例如$http用於執行XMLHttpRequests。這些是單例物件,在應用程式中只例項化一次。
過濾器 - 這些從陣列中選擇專案子集並返回一個新陣列。
指令 - 指令是DOM元素上的標記,例如元素、屬性、CSS等等。這些可以用來建立自定義HTML標籤,作為新的自定義控制元件。AngularJS具有內建指令,例如ngBind、ngModel等。
模板 - 這些是從控制器和模型中獲取資訊的渲染檢視。這些可以是單個檔案(例如index.html)或使用部分檢視在一個頁面中的多個檢視。
路由 - 這是切換檢視的概念。
模型-檢視-其他 - MVW是一種將應用程式劃分為不同部分的設計模式,稱為模型、檢視和控制器,每個部分都有不同的職責。AngularJS並沒有以傳統意義上實現MVC,而是更接近於MVVM(模型-檢視-檢視模型)。Angular JS團隊幽默地將其稱為模型-檢視-其他。
深度連結 - 深度連結允許將應用程式的狀態編碼到URL中,以便可以將其新增書籤。然後可以從URL將應用程式恢復到相同的狀態。
依賴注入 - AngularJS具有內建的依賴注入子系統,可以幫助開發者輕鬆建立、理解和測試應用程式。
概念
下圖描述了AngularJS的一些重要部分,我們將在後續章節中詳細討論。

AngularJS的優勢
AngularJS的優勢在於:
它提供了以非常清晰和可維護的方式建立單頁應用程式的能力。
它為HTML提供資料繫結能力。因此,它為使用者提供了豐富且響應迅速的體驗。
AngularJS程式碼是單元可測試的。
AngularJS使用依賴注入並利用關注點分離。
AngularJS提供可重用的元件。
使用AngularJS,開發者可以用較少的程式碼實現更多功能。
在AngularJS中,檢視是純HTML頁面,而用JavaScript編寫的控制器進行業務處理。
最重要的是,AngularJS應用程式可以在所有主要瀏覽器和智慧手機上執行,包括基於Android和iOS的手機和平板電腦。
AngularJS的缺點
雖然AngularJS有很多優點,但這裡也有一些需要關注的點:
不安全 - 作為僅限JavaScript的框架,用AngularJS編寫的應用程式並不安全。必須進行伺服器端身份驗證和授權才能確保應用程式安全。
不可降級 - 如果您的應用程式使用者停用了JavaScript,則除了基本頁面之外,將看不到任何內容。
AngularJS 指令
AngularJS框架可以分為三個主要部分:
ng-app - 此指令定義並將AngularJS應用程式連結到HTML。
ng-model - 此指令將AngularJS應用程式資料的值繫結到HTML輸入控制元件。
ng-bind - 此指令將AngularJS應用程式資料繫結到HTML標籤。