diff --git a/modules/angular2/src/router/router.ts b/modules/angular2/src/router/router.ts index a413660878..050ad37648 100644 --- a/modules/angular2/src/router/router.ts +++ b/modules/angular2/src/router/router.ts @@ -253,6 +253,7 @@ export class Router { } return this._outlet.canReuse(instruction.component) .then((result) => { + instruction.component.reuse = result; if (isPresent(this._childRouter) && isPresent(instruction.child)) { return this._childRouter._canReuse(instruction.child); } diff --git a/modules/angular2/src/router/router_outlet.ts b/modules/angular2/src/router/router_outlet.ts index 01cc15f312..9a5585c554 100644 --- a/modules/angular2/src/router/router_outlet.ts +++ b/modules/angular2/src/router/router_outlet.ts @@ -120,10 +120,6 @@ export class RouterOutlet { (isPresent(nextInstruction.params) && isPresent(this._currentInstruction.params) && StringMapWrapper.equals(nextInstruction.params, this._currentInstruction.params)); } - return PromiseWrapper.resolve(result).then((result) => { - // TODO: this is a hack - nextInstruction.reuse = result; - return result; - }); + return PromiseWrapper.resolve(result); } }