在我的 routable component
我有
@RouteConfig {
{path: '/login', name: 'Login', component: LoginComponent}
}
但是,如果我转到 app_url/login?token=1234
,我该如何获取查询参数?
原文由 monty_lennie 发布,翻译遵循 CC BY-SA 4.0 许可协议
在我的 routable component
我有
@RouteConfig {
{path: '/login', name: 'Login', component: LoginComponent}
}
但是,如果我转到 app_url/login?token=1234
,我该如何获取查询参数?
原文由 monty_lennie 发布,翻译遵循 CC BY-SA 4.0 许可协议
RouteParams 现在已被弃用,因此这里是如何在新路由器中执行此操作。
this.router.navigate(['/login'],{ queryParams: { token:'1234'}})
然后在登录组件中你可以接受参数,
constructor(private route: ActivatedRoute) {}
ngOnInit() {
// Capture the token if available
this.sessionId = this.route.queryParams['token']
}
这 是文档
原文由 Jayantha Lal Sirisena 发布,翻译遵循 CC BY-SA 4.0 许可协议
13 回答12.8k 阅读
7 回答1.9k 阅读
3 回答1.1k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
6 回答897 阅读✓ 已解决
6 回答1.1k 阅读
2 回答1.3k 阅读✓ 已解决
为了补充前面两个答案,Angular2 支持路由中的查询参数和路径变量。在
@RouteConfig
定义中,如果您在路径中定义参数,Angular2 将它们作为路径变量处理,如果没有,则作为查询参数处理。让我们举个例子:
如果你像这样调用路由器的
navigate
方法:您将拥有以下地址:
/companyId?param1=value1
。获取参数的方式对于查询参数和路径变量都是相同的。它们之间的区别是路径变量可以看作是强制参数,而查询参数是可选参数。希望它能帮助你,蒂埃里
更新: 更改路由器 alpha.31 后,http 查询参数不再有效( Matrix params #2774 )。相反,角度路由器使用所谓的矩阵 URL 表示法。
参考 https://angular.io/docs/ts/latest/guide/router.html#!#optional-route-parameters :