angular - router.navigate 不适用于命名路由器插座
问题描述
我在 Angular7 中使用命名路由器插座,并尝试使用 router.navigate 函数从组件重定向。但它会抛出这个错误
Error: Uncaught (in promise): Error: Cannot match any routes. URL Segment: 'additem'
这是我的代码:
<button mat-button (click)="AddItem()">Add Item</button>
<button mat-button (click)="BookItem()">Book Item</button>
<a mat-button [routerLink]="[{ outlets: {mainOutlet: 'additem'}}]">Add item</a>
<a mat-button [routerLink]="[{ outlets: {mainOutlet: 'bookitem'}}]">Book item</a>
<router-outlet name='mainOutlet'></router-outlet>
[routerLink] 的链接有效,但按钮无效。
import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router';
@Component({
selector: 'app-topnav',
templateUrl: './topnav.component.html',
styleUrls: ['./topnav.component.css']
})
export class TopnavComponent implements OnInit {
constructor(public router: Router) { }
ngOnInit() {
}
AddItem(){
this.router.navigate(['additem']);
}
BookItem(){
this.router.navigate([{ outlets: {mainOutlet: 'bookitem'}}]);
}
}
我也试过:
this.router.navigate(['additem', { outlets: {mainOutlet: 'additem'}}]);
应用路由模块:
import { NgModule } from '@angular/core';
import { Routes, RouterModule, Router } from '@angular/router';
import { HomeComponent } from './home/home.component';
import { IndexComponent } from './index/index.component';
import { AdditemComponent } from './additem/additem.component';
import { BookitemComponent } from './bookitem/bookitem.component';
const routes: Routes = [
{ path: "", component: IndexComponent, pathMatch: 'full' },
{ path: "home",
component: HomeComponent ,
children: [
{ path: 'additem', component: AdditemComponent, outlet: "mainOutlet" },
{ path: 'bookitem', component: BookitemComponent, outlet: "mainOutlet" }
]
}
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule { }
export const routingComponents = [IndexComponent, HomeComponent, AdditemComponent, BookitemComponent];
我无法在这里找到问题。我真的很感激这方面的任何帮助。
解决方案
推荐阅读
- javascript - 在 Safari Web Inspector 上检查 cookie 时,SameSite 属性不存在
- javascript - 为什么即使按下了正确的单选按钮,我的计数器也总是为零?
- vbscript - VBScript 设置环境变量但可执行文件没有拾取它们
- oracle-data-integrator - 市场上或本地 ODI 之间有什么区别?
- javascript - 物理点击的效果总能通过javascript事件实现吗?
- java - 分配的元空间大于 MaxMetaspaceSize
- web-services - 使用 android 模拟器时,一个特定的属性从 web 服务返回 null
- java - 在 Android Studio 中显示字符串资源 ID 而不是字符串的值
- java - 使用包装对象时出现异常
- python - 使用 Pandas_profiling 呈现 html 报告时出现 ValueError