【问题标题】:Angular2: Configuration 'name' conflicts with existing route 'name'Angular2:配置“名称”与现有路线“名称”冲突
【发布时间】:2016-03-20 13:48:57
【问题描述】:

我有一些组件,其中一个具有动态路由。

动态路由添加为,

let config = [];
for(let i = 0; i < this.pages.length; i++) {
  config.push({
    path: this.pages[i].slug, 
    name : this.pages[i].name, 
    component: AnotherComponent,
  });
}
router.config(config);

每当具有动态路由的组件被多次加载时,都会重新配置路由并导致配置冲突。

这里是plunk,动态路由通过链接users 加载,在离开用户后再次单击users 将以下显示的错误记录到控制台。

我该如何解决?感谢您对此进行调查。

【问题讨论】:

    标签: angular angular2-routing


    【解决方案1】:

    添加前检查路由是否存在

    for(let i = 0; i < this.pages.length; i++) {
      if(!router.registry.hasRoute(this.pages[i].name, UsersComponent)) {
        config.push({
          path: this.pages[i].slug, 
          name : this.pages[i].name, 
          component: PersonComponent,
          data : {
            name : this.pages[i].name,
            slug : this.pages[i].slug
          }
        });
      }
    }
    

    Plunker

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-18
      • 1970-01-01
      • 1970-01-01
      • 2017-12-05
      • 1970-01-01
      • 1970-01-01
      • 2019-07-23
      • 1970-01-01
      相关资源
      最近更新 更多