在我的routable component
中,我有
@RouteConfig {
{path: '/login', name: 'Login', component: LoginComponent}
}
但是,如果我转到
app_url/login?token=1234
,如何获取查询参数? 最佳答案
为了补充前面的两个答案,Angular2在路由中同时支持查询参数和路径变量。在@RouteConfig
定义中,如果您在路径中定义参数,则Angular2会将其作为路径变量处理,否则将作为查询参数处理。
让我们来看一个例子:
@RouteConfig([
{ path: '/:id', component: DetailsComponent, name: 'Details'}
])
如果您像这样调用路由器的
navigate
方法:this.router.navigate( [
'Details', { id: 'companyId', param1: 'value1'
}]);
您将拥有以下地址:
/companyId?param1=value1
。查询参数和路径变量的参数获取方法相同。它们之间的区别在于,路径变量可以看作是必需参数,而查询参数可以看作是可选参数。希望对您有帮助,
蒂埃里
更新:在更改路由器alpha.31后,http查询参数不再起作用(Matrix params #2774)。相反, Angular 路由器使用所谓的矩阵URL表示法。
引用https://angular.io/docs/ts/latest/guide/router.html#!#optional-route-parameters:
关于javascript - 如何在angular 2中处理查询参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34599174/