Angular2:如何在矩阵表示法中获取查询参数

时间:2016-11-23 13:28:02

标签: angular

我的网址是:

http://localhost/#/foo;nb=25;page=1

在链接到此网址的组件中,我这样做:

ngOnInit() {
        this.queryParamSub = this._route.queryParams.subscribe(queryParams => {
           console.log(queryParams)
        })
}

但是,我一直在为queryParams获取一个空对象。我确实尝试使用我的网址:http://localhost/#/foo?nb=25&page=1,它运行正常。如果我想使用矩阵表示法,我怎么能解决这个问题呢?

编辑this._route是ActivatedRoute

编辑这是我的app-routing.module.ts

@NgModule({
    imports: [
        RouterModule.forChild([
            {
                path: "",
                component: AppComponent,
                children: [
                    {
                      path: "foo",
                      component: HomepageComponent,
                      data: {
                          name: 'home'
                      }
                    }
                ]
            }]
        )
    ],
    exports: [
        RouterModule
    ]
})

export class AppRoutingModule {}

我尝试获取查询参数的组件是HomepageComponent

1 个答案:

答案 0 :(得分:2)

根路由上的查询参数被序列化为查询参数?xxx=yyy,子路由上的查询参数被序列化为矩阵参数;xxx=yyy

所以你需要做的是将参数添加到子路径段以使用矩阵表示法。