mirror of
https://github.com/Hopiu/angular.js.git
synced 2026-03-16 23:30:23 +00:00
fix($route): make nextRoute.$route private
the `nextRoute` object available in `$routeChangeStart` handler accidentaly leaked property which pointed to the route definition currently being matched. this was done just for the internal needs of the `$route` implementation and was never documented as public api. Some confusion arouse around why the $route property was not always available on the `nextRoute` object (see #1907). The right thing for us to do is to prefix the property with $$ for now and refactor the code to remove the property completely in the future. Application developers should use the `nextRoute` object itself rather than its `$route` property. The main diff is that nextRoute inherits from the object referenced by $route. BREAKING CHANGE: in $routeChangeStart event, nextRoute.$route property is gone. Use the nextRoute object instead of nextRoute.$route. Closes #1907
This commit is contained in:
parent
cb5ce981fb
commit
6f71e80914
1 changed files with 2 additions and 2 deletions
|
|
@ -397,7 +397,7 @@ function $RouteProvider(){
|
|||
var next = parseRoute(),
|
||||
last = $route.current;
|
||||
|
||||
if (next && last && next.$route === last.$route
|
||||
if (next && last && next.$$route === last.$$route
|
||||
&& equals(next.pathParams, last.pathParams) && !next.reloadOnSearch && !forceReload) {
|
||||
last.params = next.params;
|
||||
copy(last.params, $routeParams);
|
||||
|
|
@ -477,7 +477,7 @@ function $RouteProvider(){
|
|||
match = inherit(route, {
|
||||
params: extend({}, $location.search(), params),
|
||||
pathParams: params});
|
||||
match.$route = route;
|
||||
match.$$route = route;
|
||||
}
|
||||
});
|
||||
// No route matched; fallback to "otherwise" route
|
||||
|
|
|
|||
Loading…
Reference in a new issue