angular - 如何在 Angular 2 RC4 中获取查询参数

标签 angular typescript

如何在 Angular 2 RC4 中获取查询参数?我试过文档,但它们毫无意义。

例如

http://localhost:3000/models/initials/mid_c1e1c31e6eff42f1982af4124a823b36?test=4

ngOnInit中如何获取参数test的值?

private sub: Subscription;
ngOnInit() {

    this.sub = this.route.params.subscribe(params => {

        console.log(params);
        let id = params['test']; 
        console.log(id);

     });

}

这就是我导航到我想要获取查询参数的路线的方式:

   this._router.navigate(['models/initials/'+model_id+'?test=4']);

最佳答案

OP 询问查询参数,正确的方法是在路由之外使用 queryParams 对象。

ngOnInit() {
  this.sub = this.route.queryParams.subscribe(params => {
    console.log(params);
    let id = params['test']; 
    console.log(id);
 })
}

这与其他答案引用的参数对象不同。

我还建议使用 NavigationExtras 对象正确添加到查询字符串中:https://angular.io/docs/ts/latest/guide/router.html在“查询参数和片段”部分。

关于angular - 如何在 Angular 2 RC4 中获取查询参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38867637/

相关文章:

html - 迭代 mat-table Angular 中的数据源

angular - 如何以 Angular 从 toPromise() 获取值?

angular - 在 Angular 8 组件中切换 MatSlideToggle

javascript - Angular 2 奥特 : Zoneware (SystemJS) XHR error

javascript - 如何检查 Angular 4/6 的状态变化?

javascript - 下一步授权 : Extending User schema to include new fields

angular - 无法读取 null 的属性 'config'

html - 单击时如何更改文本和按钮图像(或按钮)

unit-testing - angular2 测试,如何测试事件绑定(bind)到一个元素

Angular 4 路由器 : How to not display parameters in the url bar?