AngularJS中的$routeProvider


來源:http://docs.angularjs.org/api/ngRoute.$routeProvider

有省略。

$routeProvider

ngRoute模塊中的服務

描述

用於配置路由

示例

配置與ngRoute的使用參見$route

依賴

需要安裝ngRoute模塊

方法

otherwise(params)

設置用於路由改變時,與任何其他路由定義無法匹配時使用的路由定義。

參數

參數名 類型 詳細說明
params Object 將賦值給$route.current的映射信息

返回

[Object]自身

when(path, route)

為$route服務添加新的路由定義

參數

參數名 類型 詳細說明
path string

(匹配$location.path的)路由地址。如果$location.path包含多余的尾斜杠或少了一個,路由仍會匹配,$location.path將會更新,增減一個斜杠以匹配路由定義。

  • path可以包含以冒號開始的命名組(:name)。匹配到下一個斜杠為止的所有字符,並在路由匹配時以給定的名字存儲到$routeParams中。
  • path可以包含以冒號開始,以星號結束的命名組(:name*)。在路由匹配時,所有字符都以給定名字貪婪存儲到$routeParams中。
  • path可以包含可選的命名組,包含一個問號(:name?)。

例如,形如/color/:color/largecode/:largecode*\/edit的路由,將會匹配/color/brown/largecode/code/with/slashs/edit,並提取出:

  • color: brown
  • largecode: code/with/slashs.
route Object

路由匹配時將賦值給$route.current的映射信息。

Object屬性:

  • controller – {(string|function()=} – 與新創建的scope關聯的控制器函數,或一個已注冊的控制器的名字。
  • controllerAs – {string=} – 一個控制器的別名。若存在,則控制器將被以controllerAs的名字發表給scope。
  • template – {string=|function()=} – 用於ngView或ngInclude指令的html模板。若為函數,則應返回一個代表html模板的字符串。該屬性優先級大於templateUrl。若template是一個函數,則應以如下參數調用:{Array.<Object>}
  • templateUrl – {string=|function()=} – 用於ngView指令的html模板。若為函數,則應返回一個代表html模板的字符串。若templateUrl是一個函數,則應以如下參數調用:{Array.<Object>}
  • resolve - {Object.<string, function>=} - 注入控制器的可選依賴的映射。若任一依賴是promise(承諾),則在控制器被實例化之前,路由將等待他們全部resolved(解決),或被其中一個reject(拒絕)。若所有promise都成功resolve,則resolved promise的值將注入,並觸發$routeChangeSuccess事件。若任一promise被reject,則觸發$routeChangeError事件。映射Object為:key – {string},factory - {string|function}

    • key – {string}: 將被注入到控制器的依賴名。
    • factory - {string|function}: 若為字符串,則是服務的別名。若為函數,則被注入,且返回值被當作依賴。若結果為promise,則被resolve之后,將值注入到控制器中。請注意ngRoute.$routeParams在resolve時依然是前一個路由。使用$route.current.params訪問新路由的參數。
  • redirectTo – {(string|function())=} – 更新$location path的值。

返回

[Object]自身


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM