# 9. 錨點路由
準確地說,這應該叫對 _hashchange_ 事件的處理吧。
就是指 URL 中的錨點部分發生變化時,觸發預先定義的業務邏輯。比如現在是 `/test#/x` ,錨點部分的值為 `#` 后的 `/x` ,它就對應了一組處理邏輯。當這部分變化時,比如變成了 `/test#/t` ,這時頁面是不會刷新的,但是它可以觸發另外一組處理邏輯,來做一些事,也可以讓頁面發生變化。
這種機制對于復雜的單頁面來說,無疑是一種強大的業務切分手段。就算不是復雜的單頁面應用,在普通頁面上善用這種機制,也可以讓業務邏輯更容易控制。
ng 提供了完善的錨點路由功能,雖然目前我覺得相當重要的一個功能還有待完善(后面會說),但目前這功能的幾部分內容,已經讓我思考了很多種可能性了。
ng 中的錨點路由功能是由幾部分 API 共同完成的一整套方案。這其中包括了路由定義,參數定義,業務處理等。
- Introduction
- 關于AngularJS
- 關于本文檔
- 開始的例子
- 依賴注入
- 作用域
- 數據綁定與模板
- 數據->模板
- 模板->數據
- 數據->模板->數據->模板
- 模板
- 定義模板內容
- 內容渲染控制
- 節點控制
- 事件綁定
- 表單控件
- 模板中的過濾器
- 排序 orderBy
- 過濾列表 filter
- 其它
- 例子:表頭排序
- 例子:搜索
- 錨點路由
- 路由定義
- 參數定義
- 業務處理
- 定義模板變量標識標簽
- AJAX
- HTTP請求
- 廣義回調管理
- 工具函數
- 上下文綁定
- 對象處理
- 類型判定
- 其它服務
- 日志
- 緩存
- 計時器
- 表達式函數化
- 模板單獨使用
- 自定義模塊和服務
- 模塊和服務的概念與關系
- 定義模塊
- 定義服務
- 引入模塊并使用服務
- 附加模塊 ngResource
- 使用引入與整體概念
- 基本定義
- 基本使用
- 定義和使用時的占位量
- 實例
- AngularJS與其它框架的混用(jQuery, Dojo)
- 自定義過濾器
- 自定義指令directive
- 指令的使用
- 指令的執行過程
- 基本的自定義方法
- 屬性值類型的自定義
- Compile的細節
- transclude的細節
- 把節點內容作為變量處理的類型
- 指令定義時的參數
- Attributes的細節
- 預定義的 NgModelController
- 預定義的 FormController
- 示例:文本框
- 示例:模板控制語句 for
- 示例:模板控制語句 if/else