繁体   English   中英

如何在根组件中获取查询参数?

[英]How to get query params in root component?

在角度2中,是否可以以“角度方式”在根组件中获取查询参数?

我有一个带有根组件和两个路由/状态的简单plnkr
我尝试通过获取参数:

export class App implements OnInit {

  constructor(private route: ActivatedRoute) {

  }
  ngOnInit(){
    console.log(this.route.snapshot.queryParams);
  }
}

如果我使用查询参数: plnkr打开示例,则控制台日志中的对象为空。
但是当我单击“一个”或“两个”链接时,它可以获得查询参数。

我想根无法看到查询参数,因为它不是激活的路由。
解决方案是创建伪根路由吗? 还是有另一种读取URL的方式(不是在谈论本机JS)。

我的用例:无论我走的路线如何,我都需要能够检查网址中是否有“令牌”,然后从中读取并删除它。

看看我的变化:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM