自定义路由重用策略如下,
import { RouteReuseStrategy,ActivatedRouteSnapshot,DetachedRouteHandler} from '@angular/router';
export class CustomRouteReuseStrategy extends RouteReuseStrategy {
shouldDetach(route: ActivatedRouteSnapshot): boolean { return false; }
store(route: ActivatedRouteSnapshot, detachedTree: DetachedRouteHandle): void {}
shouldAttach(route: ActivatedRouteSnapshot): boolean { return false; }
retrieve(route: ActivatedRouteSnapshot): DetachedRouteHandle { return null ; }
shouldReuseRoute(future: ActivatedRouteSnapshot, curr: ActivatedRouteSnapshot): boolean {
console.log("inside shouldReuseRoute...");
return future.routeConfig === curr.routeConfig ;
}
}
我得到以下错误
错误:TypeError:无法读取undefined的属性'prototype' 在__extends(http://localhost:8000/app/UMSClient/com/ipc/ums/modules/shared/CustomRouteReuse.service.js:7:73)
我通读了堆栈溢出帖子,无法找到解决方案。一旦这个工作,我想确保我的一个子组件被重新加载而不是重用,然后在项目中附加组件。
我在AppModule中提供</ p>
{
provide: RouteReuseStrategy,
useClass: CustomRouteReuseStrategy
},
我将扩展更改为实现,但错误消失但自定义路由重用不起作用。
我正在使用棱角分明4.3.1
答案 0 :(得分:0)
问题是我的工作区结构。当角度为4时,Angular 2版本被错误地拾取。当我纠正这个问题时,它开始正常工作。