Routing 区分在使用durandal的热毛巾模板中作为查询字符串传递的参数

Routing 区分在使用durandal的热毛巾模板中作为查询字符串传递的参数,routing,durandal,hottowel,Routing,Durandal,Hottowel,我有一个热毛巾应用程序,使用durandal进行布线。配置文件中定义的其中一条路由如下所示: { url: 'charts/:id', moduleId: 'viewmodels/charts', name: 'Charts', visible: false } 图表是显示患者id或机构id数据的视图模型。从患者视图模型我发送患者id,从机构视图模型我发送机构id 我的问题是如何在Charts viewmodel的activate方法中知道u

我有一个热毛巾应用程序,使用durandal进行布线。配置文件中定义的其中一条路由如下所示:

   {
     url: 'charts/:id',
     moduleId: 'viewmodels/charts',
     name: 'Charts',
     visible: false
   }
图表是显示患者id或机构id数据的视图模型。从患者视图模型我发送患者id,从机构视图模型我发送机构id

我的问题是如何在Charts viewmodel的activate方法中知道url中的参数是患者id还是机构id

vm.activate = function (routeData) {
   ////routeData will have routeData.id. How can I know if this is patient id or agency id ?
};

要实现所描述的场景,最简单的事情是添加第二个参数,该参数将区分您的调用类型

以下是一条示例路线:

{
 url: 'charts/:type/:id',
 moduleId: 'viewmodels/charts',
 name: 'Charts',
 visible: false
}
在激活中,您现在应该有两个参数要检查

vm.activate = function (routeData) {
  ////routeData.type, routeData.id
  if(routeData.type === "agency") {
  }
};

添加一个额外的var来区分它怎么样?比如url:'charts/:type/:id'@zewa666这很有效。你可以加上这个作为答案,我会记下来的。