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

时间:2014-08-18 14:16:48

标签: routing durandal hottowel

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

   {
     url: 'charts/:id',
     moduleId: 'viewmodels/charts',
     name: 'Charts',
     visible: false
   }

图表是一种视图模型,可显示患者ID或代理商ID的数据。从患者视图模型我发送患者ID并从代理视图模型我发送代理ID。

我的问题是如何在图表视图模型的激活方法中知道url中的参数是患者ID还是代理ID?

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

1 个答案:

答案 0 :(得分:2)

要实现所描述的场景,最简单的方法是添加第二个参数,以区分您的呼叫类型。

以下是一个示例路线:

{
 url: 'charts/:type/:id',
 moduleId: 'viewmodels/charts',
 name: 'Charts',
 visible: false
}

在你的激活中,你现在应该有两个参数来检查

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