mirror of
https://github.com/Hopiu/angular.js.git
synced 2026-03-18 15:50:22 +00:00
$route should create child scope via $new
This commit is contained in:
parent
63690d1892
commit
a5eb3ed107
3 changed files with 2 additions and 13 deletions
|
|
@ -708,7 +708,7 @@ angularServiceInject('$route', function(location) {
|
||||||
if (!childScope) {
|
if (!childScope) {
|
||||||
var pathParams = matcher(location.hashPath, route);
|
var pathParams = matcher(location.hashPath, route);
|
||||||
if (pathParams) {
|
if (pathParams) {
|
||||||
childScope = createScope(parentScope);
|
childScope = parentScope.$new();
|
||||||
$route.current = extend({}, routeParams, {
|
$route.current = extend({}, routeParams, {
|
||||||
scope: childScope,
|
scope: childScope,
|
||||||
params: extend({}, location.hashSearch, pathParams)
|
params: extend({}, location.hashSearch, pathParams)
|
||||||
|
|
|
||||||
|
|
@ -625,20 +625,9 @@ angularWidget('ng:include', function(element){
|
||||||
return extend(function(xhr, element){
|
return extend(function(xhr, element){
|
||||||
var scope = this, childScope;
|
var scope = this, childScope;
|
||||||
var changeCounter = 0;
|
var changeCounter = 0;
|
||||||
var preventRecursion = false;
|
|
||||||
function incrementChange(){ changeCounter++;}
|
function incrementChange(){ changeCounter++;}
|
||||||
this.$watch(srcExp, incrementChange);
|
this.$watch(srcExp, incrementChange);
|
||||||
this.$watch(scopeExp, incrementChange);
|
this.$watch(scopeExp, incrementChange);
|
||||||
scope.$onEval(function(){
|
|
||||||
if (childScope && !preventRecursion) {
|
|
||||||
preventRecursion = true;
|
|
||||||
try {
|
|
||||||
childScope.$eval();
|
|
||||||
} finally {
|
|
||||||
preventRecursion = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
this.$watch(function(){return changeCounter;}, function(){
|
this.$watch(function(){return changeCounter;}, function(){
|
||||||
var src = this.$eval(srcExp),
|
var src = this.$eval(srcExp),
|
||||||
useScope = this.$eval(scopeExp);
|
useScope = this.$eval(scopeExp);
|
||||||
|
|
|
||||||
|
|
@ -651,7 +651,7 @@ describe("widget", function(){
|
||||||
|
|
||||||
// this one should really be just '1', but due to lack of real events things are not working
|
// this one should really be just '1', but due to lack of real events things are not working
|
||||||
// properly. see discussion at: http://is.gd/ighKk
|
// properly. see discussion at: http://is.gd/ighKk
|
||||||
expect(element.text()).toEqual('4');
|
expect(element.text()).toEqual('2');
|
||||||
dealoc(element);
|
dealoc(element);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue