Angular Router Wildcard无法正常工作

时间:2018-04-19 20:06:28

标签: angular angular-ui-router

AngularCLI网络应用。最后使用**通配符有相当数量的路由。当我输入http://localhost:4200/compasdasd时,这会将我重定向到主组件。但是当我输入http://localhost:4200/company/dafsdf时,我在控制台中获得了404,但没有重定向。对于较长的路由,我应该使用不同的格式来使用通配符吗?如果需要更多信息,请告诉我。

{ path: '', component: HomeComponent},
{ path: 'company/:name', component: CompanyComponent},
{ path: '**', component: HomeComponent},

1 个答案:

答案 0 :(得分:2)

路线:http://localhost:4200/company/dafsdf与您的第二条路线匹配:

{ path: 'company/:name', component: CompanyComponent}

dafsdh视为name参数。对于角度,这是完全有效的。您在控制台中收到404因为您在初始化CompanyComponent

时可能正在做一些API请求

<强>可选

此处name参数看起来像字符串类型,dafsdh也是字符串类型,因此根本没有干扰,但是如果你想根据数据类型匹配路由传递参数,例如你只想接受字符串而不是整数,那么这个SO问题对你有用,只需更改正则表达式即可。 How to match route only if param is integer in Angular2?