在角度2中,是否可以以"角度方式获取根组件中的查询参数"?
我有一个简单的plnkr,它有一个根组件和两个路由/状态 我尝试使用以下参数获取参数:
export class App implements OnInit {
constructor(private route: ActivatedRoute) {
}
ngOnInit(){
console.log(this.route.snapshot.queryParams);
}
}
如果我使用查询参数打开示例:plnkr,控制台日志中的对象为空 但是当我点击" One"或"两个"链接,它可以获取查询参数。
我认为root无法查看查询参数,因为它不是激活的路由。
解决方案是创建假的根路由吗?或者是否有其他方式来阅读网址(不是谈论本地JS)。
我的使用案例:无论我的路线是什么,我都需要能够检查是否有一个"令牌"在网址中,从中读取然后将其删除。
答案 0 :(得分:0)
看看我的变化:
https://plnkr.co/edit/b45VUvfVqUl5u2EuzNI9?p=preview
{
path: '**',
component: App
}
我添加了一条默认路由 - 应该添加到路由器中。这基本上说是传入的任何其他路线然后去这里。
<a routerLink="**" [queryParams]="{token:12345678}">Home</a>
在链接中我添加了一个主页链接,类似于您的其他链接。当您导航到一个或两个,然后返回到主页时,您将看到在对象中传递的令牌。 这是因为在链接中指定了令牌。
只有当链接具有硬编码或由另一个组件动态生成的令牌时,这才真正有用。
这可能会有所帮助:
https://angular.io/docs/ts/latest/guide/router.html#!#query-parameters