【问题标题】:router-outlet works incorrect路由器插座工作不正确
【发布时间】:2016-05-11 16:53:26
【问题描述】:

加载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 是空的,并且组件正在渲染。

【问题讨论】:

  • 子路由内容呈现在结束标记下方的事实让我抓狂,因为除了这里之外似乎没有任何地方记录或讨论它。谢谢你的提问,也谢谢@Gunter 的回答。这个问题在谷歌搜索结果中仍然很难找到。我们如何提高知名度?

标签: angular angular2-routing angular2-router


【解决方案1】:

这是设计使然。有一个相关的未解决问题https://github.com/angular/angular/issues/8529,但我不认为这是考虑更改的内容。

【讨论】:

  • 那为什么我有一个未定义的元素?
  • AFAIK 这是你的组件没有selector: 'xxx'
  • 工作正常。谢谢
猜你喜欢
  • 2021-03-13
  • 1970-01-01
  • 2017-02-21
  • 2019-03-20
  • 1970-01-01
  • 2017-02-15
  • 2017-04-29
  • 2018-07-28
相关资源
最近更新 更多