redirectTo有什么用?

时间:2019-02-16 18:33:07

标签: angular routing

我知道,redirectTo将路由重定向到给定的组件,例如,如果您想将应用程序的根目录重定向到特定的URL,您本来可能会这样:

const routes: Routes = [
  { path: '', component: HomeComponent }, 
  { path: 'login', component: LoginComponent },
  { path: 'dashboard', component: DashboardComponent}
];

如果您想更改此设置,以使''将您重定向到仪表板,则可以执行以下操作:

const routes: Routes = [
  { path: '', redirectTo:'dashboard', pathMatch: 'full' }, 
  { path: 'login', component: LoginComponent },
  { path: 'dashboard', component: DashboardComponent}
];

已经足够清楚了,但这难道不是很容易吗?

const routes: Routes = [
  { path: '', component: DashboardComponent }, 
  { path: 'login', component: LoginComponent },
  { path: 'dashboard', component: DashboardComponent}
];

除非您特别想进行重定向,例如出于SEO原因或跟踪原因,否则第二种选择会更清晰吗?

1 个答案:

答案 0 :(得分:0)

据我所知,除了@AJT_82提到的URL之外,两者之间没有其他区别。

但是,您最终可能会得到很多重复的代码,尤其是如果有该路径的子代,那么您还必须复制那些子代定义。此外,您定义的所有Route Guard也必须重复。

另一个难点是,如果您不赞成使用某个组件,则必须将其从“路线”定义中的多个位置删除