我正在使用Angular2和RouterModule。我有一个等待参数(id)的子状态:
{
path: 'details/:id',
component: DetailComponent,
outlet: 'details'
}
在我的例子中,参数id可以包括分号(即:TEST | EN; 1000; 0)。
我使用激活的路线获取参数let taskIdFromParam = this.activatedRoute.snapshot.params['id'];
但结果我得到TEST|EN
而不是 TEST | EN; 1000; 0
其余的id我们包含在urlSegment中作为参数(Object {0: "", 1000: "", EN: ""}
)。我尝试解析其余参数并用分号手动连接,但它们按字母顺序排列,因此我解析的id是 TEST | 0; 1000; EN 而不是 TEST 。| EN; 1000; 0
我知道这种情况正在发生,因为角度路由器对子状态使用矩阵URL表示法(请参阅下面的link)。
我有以下问题:
答案 0 :(得分:0)
http://yoururl.com/state?yourParam=TEST|EN;1000;0
this.route.queryParams.subscribe(params => {
console.log(params['yourParam']);
});