我有一个使用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 ?
};
答案 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") {
}
};