San*_*nti 5 javascript angular-routing angular
例子
http://localhost:4200/login?aUasas129198
Run Code Online (Sandbox Code Playgroud)
决心
http://localhost:4200/login
Run Code Online (Sandbox Code Playgroud)
如果我想要'?'后面的值该怎么办?
我尝试做
{ path: 'login/:id', component: LoginComponent },
Run Code Online (Sandbox Code Playgroud)
但没有成功
我也尝试过
console.log(this.route.snapshot.queryParams);
console.log(this.route.snapshot.params);
Run Code Online (Sandbox Code Playgroud)
但它们都返回空对象。我现在该怎么办请帮忙
如果 Angular 不可避免地会立即重定向您并丢失查询参数,您可以订阅路由器事件并在每个NavigationStart
forlogin
路由上获取路由 xe2\x80\x99squeryParamMap
或snapshot.paramMap
在它们之前x99re 在重定向中丢失,那么您可以将其传递给服务并执行您想做的任何操作。
或者,作为另一种选择,您可以考虑使用 配置路由器queryParamsHandling: \'preserve\'
,在这种情况下,它应该将查询参数传递到下一个路由(有关更多信息,请参阅下面链接的 Angular 文档中的部分)。
我参与了一个在 Angular 5 中使用查询参数的项目,IIRC 我不\xe2\x80\x99t 认为它会自行重定向,所以我\xe2\x80\x99d 建议查看项目中的其他位置,但我可能会错误的。
\n\n路由和导航 → Angular 文档中的查询参数和片段
StackOverflow 上的Angular 路由开始和路由结束事件
归档时间: |
|
查看次数: |
5385 次 |
最近记录: |