AngularJS中的$routeProvider

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

有省略。angularjs

$routeProviderapi

ngRoute模塊中的服務promise

描述ide

用於配置路由函數

示例spa

配置與ngRoute的使用參見$routecode

依賴htm

須要安裝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]自身

相關文章
相關標籤/搜索