【发布时间】:2018-02-16 12:32:02
【问题描述】:
我正在使用 Angular 路由器动态添加面包屑。我遵循了几个例子,并让它们成功地工作。
但是,如果我尝试合并一个延迟加载的模块,我会收到错误:
Root segment cannot have matrix parameters
我已研究过该问题,但未能找到令人满意的信息/修复方法。
我已经创建了一个 plunk,其中包含我想要完成的内容,以便从该页面上的大量代码中保存: https://plnkr.co/edit/505x2r
如何继续使用路由器创建的动态面包屑导航,但同时使用延迟加载的路由。
import {NgModule} from '@angular/core';
import {RouterModule} from '@angular/router';
import { RootComponent } from 'src/root/root.component';
import { IndexComponent } from 'src/index/index.component';
import { SignupComponent } from 'src/signup/signup.component';
import { SigninComponent } from 'src/signin/signin.component';
@NgModule({
imports: [
RouterModule.forChild([
{
path: '',
component: RootComponent,
children: [
{
path: 'signin',
loadChildren: 'src/signin/signin.module#SigninModule'
},
{
path: 'signup',
component: SignupComponent,
data: {
breadcrumb: 'Sign Up'
}
},
{
path: '',
component: IndexComponent
}
]
}
])
],
exports: [
RouterModule
]
})
export class RootRoutingModule {}
【问题讨论】:
-
in
signin-routing.module.ts:将空路径更改为重定向使其工作而不会中断:{ path: '', redirectTo: 'signin', pathMatch: 'full' },,但路由名称加倍:/#/signin/signin -
检查我所做的更改。它仍然不正确,但我可以跟踪问题,然后您可以继续:plnkr.co/edit/KTE39A?p=preview 不要从 plunker 复制并粘贴此代码,因为我更改了一些内容,只需在
html的面包屑。我删除了路由器链接。您必须找到一种方法来解决异步模式下的路由器链接问题。 -
我把这个做得更好一点:plnkr.co/edit/aOCxS2?p=preview
标签: angular angular-ui-router lazy-loading breadcrumbs