2016-10-03 86 views
0

我有一个路线网址,如:如何router.navigate到路由具有id占位inmidst路线网址

/departments/:id/employees/assign' 

,当我浏览到上述网址:

this._router.navigate(['/departments/:id/employees/assign', id]); 

然后角始终将传递的ID附加到URL的末尾,但这不是我想要的。

当我尝试这个

this._router.navigate(['/departments/:id/employees/assign', {id: id}]); 

我得到这个网址在浏览器:

http://localhost:4200/departments/%3Aid/employees/assign;id=1 

我想要的网址是在浏览器:/departments/1/employees/assign

我有什么要更改?

+0

您是否尝试过使用模板文字?像'[\'/ departments/$ {id}/employees/assign \']' –

+0

''''''''''''''''''请解决它!所以你将asp.net视为黑暗时代;-) – Pascal

回答

3

使用模板文字,形成动态URL是这样的:

[`/departments/${id}/employees/assign`] 
0

如果你想使用一个链接,然后: 在HTML有:

<button type="button" id="btnOpenLine" class="btn btn-default btn-sm" ng-click="orderMaster.openLineItems()">Order Line Items</button> 
了打字稿文件

public openLineItems() { 
    if (this.$stateParams.id == 0) { 
     this.Flash.create('warning', "Need to save order!", 3000); 
     return 
    } 
    this.$window.open('#/orderLineitems/' + this.$stateParams.id); 
} 

我希望你看到这个前这对我和其他答案都是非常有帮助的。