Angular 2 路由参数样式的区别

Angular 2 difference between route parameters style

如果我使用 Router 的 navigate 方法以编程方式导航

this.router.navigate(['/articles', {id: 1}]); 结果 url 是 /articles;page=1

和第二种方式

this.router.navigate(['/articles', id]); 结果 url 是 /articles/1

在这两种变体中,我都可以通过 this.activatedRoute.params.forEach((params: Params) => {});

获取值

那么除了风格还有什么不同呢?

P.S。发现 question 与查询参数和矩阵参数之间的差异相关

{id: 1} in ['/articles', {id: 1}] 是一个可选的路由参数,作为矩阵参数添加到子路由和查询参数到根路由

['/articles', id]是一个正常且必需的路由参数,用于替换路由路径中的:id