# 1. 關于AngularJS
[AngularJS](http://angularjs.org/) 是 Google 開源出來的一套 js 工具。下面簡稱其為 [ng](http://docs.angularjs.org/misc/faq) 。這里只說它是“工具”,沒說它是完整的“框架”,是因為它并不是定位于去完成一套框架要做的事。更重要的,是它給我們揭示了一種新的應用組織與開發方式。
ng 最讓我稱奇的,是它的數據雙向綁定。其實想想,我們一直在提數據與表現的分離,但是這里的“雙向綁定”從某方面來說,是把數據與表現完全綁定在一起——數據變化,表現也變化。反之,表現變化了,內在的數據也變化。有過開發經驗的人能體會到這種機制對于前端應用來說,是很有必要的,能帶來維護上的巨大優勢。當然,這里的綁定與提倡的分離并不是矛盾的。
ng 可以和 jQuery 集成工作,事實上,如果沒有 jQuery , ng 自己也做了一個輕量級的 jQuery ,主要實現了元素操作部分的 API 。
關于 ng 的幾點:
- 對 IE 方面,它兼容 IE8 及以上的版本。
- 與 jQuery 集成工作,它的一些對象與 jQuery 相關對象表現是一致的。
- 使用 ng 時不要冒然去改變相關 DOM 的結構。
- Introduction
- 關于AngularJS
- 關于本文檔
- 開始的例子
- 依賴注入
- 作用域
- 數據綁定與模板
- 數據->模板
- 模板->數據
- 數據->模板->數據->模板
- 模板
- 定義模板內容
- 內容渲染控制
- 節點控制
- 事件綁定
- 表單控件
- 模板中的過濾器
- 排序 orderBy
- 過濾列表 filter
- 其它
- 例子:表頭排序
- 例子:搜索
- 錨點路由
- 路由定義
- 參數定義
- 業務處理
- 定義模板變量標識標簽
- AJAX
- HTTP請求
- 廣義回調管理
- 工具函數
- 上下文綁定
- 對象處理
- 類型判定
- 其它服務
- 日志
- 緩存
- 計時器
- 表達式函數化
- 模板單獨使用
- 自定義模塊和服務
- 模塊和服務的概念與關系
- 定義模塊
- 定義服務
- 引入模塊并使用服務
- 附加模塊 ngResource
- 使用引入與整體概念
- 基本定義
- 基本使用
- 定義和使用時的占位量
- 實例
- AngularJS與其它框架的混用(jQuery, Dojo)
- 自定義過濾器
- 自定義指令directive
- 指令的使用
- 指令的執行過程
- 基本的自定義方法
- 屬性值類型的自定義
- Compile的細節
- transclude的細節
- 把節點內容作為變量處理的類型
- 指令定義時的參數
- Attributes的細節
- 預定義的 NgModelController
- 預定義的 FormController
- 示例:文本框
- 示例:模板控制語句 for
- 示例:模板控制語句 if/else