psj*_*j01 6 angular-routing angular
app.module.ts 文件中列出的路径顺序重要吗?例如...
RouterModule.forRoot([
{path:'',component:HomeComponent},
{path:'followers',component:GithubFollowersComponent},
{path:'followers/:username/:userid',component:GithubProfileComponent},
{path:'posts',component:PostsComponent},
{path:'**',component:NotFoundComponent}
])
Run Code Online (Sandbox Code Playgroud)
对比..
RouterModule.forRoot([
{path:'',component:HomeComponent},
{path:'followers/:username/:userid',component:GithubProfileComponent},
{path:'followers',component:GithubFollowersComponent},
{path:'posts',component:PostsComponent},
{path:'**',component:NotFoundComponent}
])
Run Code Online (Sandbox Code Playgroud)
我正在看一个教程,它说顺序很重要..但我尝试了两种方法,它们似乎都按预期工作......
如果我将通配符路径( ** )移到顶部,那么是的,我确实注意到了差异。但是对于其他人来说,顺序根本不重要吗?还是我在这里遗漏了什么?....
其他路径完全不同,所以不,顺序对这些无关紧要。路由引擎不会混淆followers和followers/:username/:userid- 正如Angular 指南指出的那样,:username并且:userid是必需的参数,因此需要存在,如followers/testuser/10.
它确实事的时候两条路线冲突寿,如posts和**。该路径/posts将被两条路线匹配,第一个获胜。
这就是通配符位于末尾的原因。作为基本规则,始终尝试按最具体到最不具体的顺序进行排序。
| 归档时间: |
|
| 查看次数: |
1987 次 |
| 最近记录: |