Angular 2路线 child 与网点

标签 angular routes angular-routing

目前正在尝试了解 Angular 2 路由,但我遇到了一个我无法解决的问题,感觉它是某种语法或配置,我只是缺少它。

我想在一个页面上有两个路由器 socket ,并能够在页面上显示两个单独的部分,用户可以单独导航。

我试着按照这里的代码 - http://onehungrymind.com/named-router-outlets-in-angular-2/

但是,当我这样做时,我收到一条错误消息,提示找不到子路由所在的路由。

代码如下:

路线

{
    path: 'full',
    component: FullComponent,
    children: [
        {
            path: 'list',
            component: ListComponent,
            outlet: 'list'
        }
    ]
}

在完整组件中:

<div divOne>
    <router-outlet name="list"></router-outlet>
</div>
<div divTwo>
    <router-outlet name="detail"></router-outlet>
</div>

我这样导航:

    let navigationExtras: any = {
        queryParams: { reference: 21 },
        outlets: {'list': ['list']}
    };

    this.router.navigate( ['full'], navigationExtras);

这给了我以下错误信息:

core.umd.js:5995 EXCEPTION: Uncaught (in promise): Error: Cannot match any routes: 'full'

如果我从子路由中取出导出,我不会收到此错误消息。

谁能指出我哪里出错了?

最佳答案

该组件只需要一个未命名的路由器 socket ,并且可以有额外的命名 socket

<router-outlet></router-outlet>
<router-outlet name="full"></router-outlet>

this.router.navigate( ['full'], navigationExtras);

navigate([{outlets: {route3: 'productPage'}}]);

  navigate() {
    let navigationExtras: any = {
      queryParams: { reference: 21 },
      outlets: {full: 'full']}
    };
    this.router.navigate([navigationExtras]);
  }

Plunker example

关于Angular 2路线 child 与网点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40389621/

相关文章:

angular - 在 AOT 编译之前 Lint Angular 2、4、5 模板 html 文件的最佳方法是什么

java - Spring Boot 使用 docker 返回静态资源 404

php - 在 get 方法路由 laravel 中允许特殊字符

javascript - Angular - 从 JavaScript 重定向到路由

django - 在 Django 后端使用 Angular JS 路由的最佳实践方法是什么?

html - Cordova 应用程序 mdc-app-bar 不会一直到顶部。造型乱了

javascript - 禁止点击复选框;让父 div 处理

angular - 子路线最初未以 Angular 加载

ruby-on-rails - 如何使用不同的路由在 Rails 中自定义 form_for?

javascript - 在 SPA 应用程序中使用 AngularJs 在 ng-view 中加载外部页面