我希望有一个包含该网址的路线
/collections/:collectionId/books/:bookId/:title
e.g。
/collections/10/books/456678/my-book.html
在我的app-routing.module.ts文件中
{path: 'collections/:collectionId/books/:bookId/:title', component: BookDetailsComponent},
是否可以不使用嵌套路由器插座?
我试过
this.router.navigate(['/collections',{collectionId: 10, bookId: 456678, title: "my-book.html"}]);
但是出现了像
这样的错误Cannot match any routes. URL Segment: 'collections;collectionId=10;bookId=456678;title=my-book.html'
如果我将参数作为数组传递,
this.router.navigate(['/collections', 10, 456678, "my-book.html"]);
我得到了
Error: Cannot match any routes. URL Segment: 'collections/10/456678/my-book.html
我设法通过“书籍”来实现我想要的目标。 “收藏品”下的儿童路线'路线,但我想在没有嵌套路线的情况下这样做。
由于
答案 0 :(得分:12)
应该是
this.router.navigate(['/collections', '10', 'books', '456678', "my-book.html"]);
这些数字的引号不是必需的,但我认为这是一种很好的做法。