在RC.1中使用新路由器时,我似乎无法扩展RouterOutlet
例:
import { Directive } from '@angular/core'; import { Router,ROUTER_DIRECTIVES,RouterOutlet } from '@angular/router'; @Directive({ selector: 'router-outlet' }) export class RouterOutletDirective extends RouterOutlet { }
错误:
@angular/router/index”‘ has no exported member ‘RouterOutlet’.
我做错了什么或者这是否与RC.1中的新路由器有关?
更新:
import { Directive,Attribute,ViewContainerRef,DynamicComponentLoader } from '@angular/core'; import { Router,Routes,RouterOutletMap } from '@angular/router'; import { RouterOutlet } from '@angular/router/src/directives/router_outlet'; @Directive({ selector: 'router-outlet' }) export class RouterOutletDirective extends RouterOutlet { constructor(parentOutletMap: RouterOutletMap,_location: ViewContainerRef,name: string) { super(parentOutletMap,_location,name); console.log( parentOutletMap ); } activate() { console.log('Activate'); } }
所以它现在正在运行,但是RouterOutlet用红色加下划线,类型“any”不是构造函数类型,激活部分也不起作用.我错过了什么吗?
RouterOutlet和RouterLink不从@ angular / router导出.最近已修复此问题,我希望此修复程序包含在RC.2中.
您可以从专用路径(src / …)导入它们作为解决方法,直到发布新版本.
暗示
也就是说,还有一个新的路由器正在进行中.如果您目前正在从beta路由器或@ angular / router-derprecated迁移到@ angular / router,那么最好推迟到新的新路由器出来之前.