Improve this Doc View Source $routeProvider
Used for configuring routes.
See $route for an example of configuring and using ngRoute
.
Dependencies
Requires the ngRoute
module to be installed.
Methods
-
when(path, route);
Adds a new route definition to the
$route
service.Parameters
Param Type Details path string
Route path (matched against
$location.path
). If$location.path
contains redundant trailing slash or is missing one, the route will still match and the$location.path
will be updated to add or drop the trailing slash to exactly match the route definition.-
path
can contain named groups starting with a colon: e.g.:name
. All characters up to the next slash are matched and stored in$routeParams
under the givenname
when the route matches. -
path
can contain named groups starting with a colon and ending with a star: e.g.:name*
. All characters are eagerly stored in$routeParams
under the givenname
when the route matches. -
path
can contain optional named groups with a question mark: e.g.:name?
.For example, routes like
/color/:color/largecode/:largecode*\/edit
will match/color/brown/largecode/code/with/slashes/edit
and extract: -
color: brown
-
largecode: code/with/slashes
.
route Object
Mapping information to be assigned to
$route.current
on route match.Object properties:
-
controller
–{(string|function()=}
– Controller fn that should be associated with newly created scope or the name of a registered controller if passed as a string. -
controllerAs
–{string=}
– An identifier name for a reference to the controller. If present, the controller will be published to scope under thecontrollerAs
name. -
template
–{string=|function()=}
– html template as a string or a function that returns an html template as a string which should be used by ngView or ngInclude directives. This property takes precedence overtemplateUrl
.If
template
is a function, it will be called with the following parameters:-
{Array.<Object>}
- route parameters extracted from the current$location.path()
by applying the current route
-
-
templateUrl
–{string=|function()=}
– path or function that returns a path to an html template that should be used by ngView.If
templateUrl
is a function, it will be called with the following parameters:-
{Array.<Object>}
- route parameters extracted from the current$location.path()
by applying the current route
-
-
resolve
-{Object.<string, function>=}
- An optional map of dependencies which should be injected into the controller. If any of these dependencies are promises, the router will wait for them all to be resolved or one to be rejected before the controller is instantiated. If all the promises are resolved successfully, the values of the resolved promises are injected and $routeChangeSuccess event is fired. If any of the promises are rejected the $routeChangeError event is fired. For easier access to the resolved dependencies from the template, theresolve
map will be available on the scope of the route, under$resolve
(by default) or a custom name specified by theresolveAs
property (see below). This can be particularly useful, when working with components as route templates.
Note: If your scope already contains a property with this name, it will be hidden or overwritten. Make sure, you specify an appropriate name for this property, that does not collide with other properties on the scope.The map object is:-
key
–{string}
: a name of a dependency to be injected into the controller. -
factory
-{string|function}
: Ifstring
then it is an alias for a service. Otherwise if function, then it is injected and the return value is treated as the dependency. If the result is a promise, it is resolved before its value is injected into the controller. Be aware thatngRoute.$routeParams
will still refer to the previous route within these resolve functions. Use$route.current.params
to access the new route parameters, instead.
-
-
resolveAs
-{string=}
- The name under which theresolve
map will be available on the scope of the route. If omitted, defaults to$resolve
. -
redirectTo
–{(string|function())=}
– value to update $location path with and trigger route redirection.If
redirectTo
is a function, it will be called with the following parameters:-
{Object.<string>}
- route parameters extracted from the current$location.path()
by applying the current route templateUrl. -
{string}
- current$location.path()
-
{Object}
- current$location.search()
The custom
redirectTo
function is expected to return a string which will be used to update$location.path()
and$location.search()
. -
-
[reloadOnSearch=true]
-{boolean=}
- reload route when only$location.search()
or$location.hash()
changes.If the option is set to
false
and url in the browser changes, then$routeUpdate
event is broadcasted on the root scope. -
[caseInsensitiveMatch=false]
-{boolean=}
- match routes without being case sensitiveIf the option is set to
true
, then the particular route can be matched without being case sensitive
Returns
Object
self
-
-
otherwise(params);
Sets route definition that will be used on route change when no other route definition is matched.
Parameters
Param Type Details params Object
string
Mapping information to be assigned to
$route.current
. If called with a string, the value maps toredirectTo
.Returns
Object
self
Properties
-
caseInsensitiveMatch
A boolean property indicating if routes defined using this provider should be matched using a case insensitive algorithm. Defaults to
false
.
© 2010–2017 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://code.angularjs.org/1.5.11/docs/api/ngRoute/provider/$routeProvider