在RC.1中使用新路由器时如何扩展RouterOutlet

J J*_*J B 6 angular2-directives angular2-routing angular

在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 {

}
Run Code Online (Sandbox Code Playgroud)

错误:

@angular/router/index"'没有导出成员'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');
  }
}
Run Code Online (Sandbox Code Playgroud)

所以它现在正在运行,但是RouterOutlet用红色加下划线,类型"any"不是构造函数类型,激活部分也不起作用.我错过了什么吗?

Gün*_*uer 4

RouterOutlet并且RouterLink不从 导出@angular/router。这个问题最近已经修复,我希望这个修复能够包含在 RC.2 中。

src/...在发布新版本之前,您可以从私有路径 ( ) 导入它们作为解决方法。

暗示

也就是说,新的路由器工作再次正在进行中。如果您目前正致力于从测试版路由器迁移或@angular/router-derprecated迁移到@angular/router测试版路由器,那么最好推迟到新的路由器发布为止。