AngularCLI网络应用。最后使用**通配符有相当数量的路由。当我输入http://localhost:4200/compasdasd时,这会将我重定向到主组件。但是当我输入http://localhost:4200/company/dafsdf时,我在控制台中获得了404,但没有重定向。对于较长的路由,我应该使用不同的格式来使用通配符吗?如果需要更多信息,请告诉我。
{ path: '', component: HomeComponent},
{ path: 'company/:name', component: CompanyComponent},
{ path: '**', component: HomeComponent},
答案 0 :(得分:2)
路线:http://localhost:4200/company/dafsdf
与您的第二条路线匹配:
{ path: 'company/:name', component: CompanyComponent}
将dafsdh
视为name
参数。对于角度,这是完全有效的。您在控制台中收到404
因为您在初始化CompanyComponent
<强>可选强>
此处name
参数看起来像字符串类型,dafsdh
也是字符串类型,因此根本没有干扰,但是如果你想根据数据类型匹配路由传递参数,例如你只想接受字符串而不是整数,那么这个SO问题对你有用,只需更改正则表达式即可。 How to match route only if param is integer in Angular2?