如何使用routeLink创建多个参数

时间:2017-01-01 22:16:49

标签: angular angular2-routing

我正处于这条活跃路线上:

companies/:id/departments 

现在我想用这条路线创建一个新的部门:

companies/:id/departments/create

我通过routeLink更改此路线的HTML是:

 <button [routerLink]="['companies', id, 'departments','create']">create</button>

单击routerLink时出现此错误消息:

Error: Cannot match any routes: 'companies/1/departments/companies/1/departments/create'

很明显,我的routerLink路由被附加到活动路由。

我应该如何重写routerLink以使其正常工作?

路由器是否认为创建路由是子路由?它不是!

2 个答案:

答案 0 :(得分:2)

如何将其更改为:

 foreach (var item in DepartTimes)
            {
                MAPS objMAPS = new MAPS();
                objMAPS.LocationName = item["name"].ToString();
                objMAPS.Latitude = item["latitude"].ToString();
                objMAPS.Longitude = item["longitude"].ToString();
                lstMarkers.Add(objMAPS);
             }

答案 1 :(得分:2)

根据documentation

  

如果第一个段以/开头,路由器将查找路由   从应用程序的根目录。

     

如果第一段以./开头,或   不是以斜线开头,路由器将改为查看   当前激活路线的孩子。

     

如果是第一段   从../开始,路由器将上升一级。

基本上,您需要做的就是在第一个段之前添加正斜杠:

<button [routerLink]="['/companies', id, 'departments','create']">create</button>