2

Router をロードしているコンポーネントが router-outlet app.component.ts の外でレンダリングされている

@Component({
    selector  : "body",
    template  : `<router-outlet></router-outlet>`,
    directives: [ROUTER_DIRECTIVES]
})
@RouteConfig([
    {path: "/auth/login", name: "Auth", component: AuthComponent},
    {path: "/...", name: "Default", component: DefaultComponent}
])
export class AppComponent {
    constructor(private _router: Router) {
    }
}

default.component.ts

@Component({
    template  : `
    <header-view></header-view>
    <router-outlet></router-outlet>
`,
    directives: [HeaderComponent, ROUTER_DIRECTIVES]
})
@RouteConfig([
    {path: "/", name: "LevelsList", component: LevelListComponent, useAsDefault: true}
])
export class DefaultComponent {
    constructor(private _router: Router) {}
}

コンソールにエラーはありません。要素を調べていると、router-outlet が空で、コンポーネントがその後レンダリングされていることがわかります。

ここに画像の説明を入力

4

1 に答える 1

3

これは仕様によるものです。関連する未解決の問題https://github.com/angular/angular/issues/8529がありますが、これが変更されると見なされているという印象は受けませんでした。

于 2016-05-11T17:01:19.457 に答える