durandal中路线起点的参数

时间:2013-03-14 20:17:00

标签: javascript durandal

Durandal的典型路线如下:

常规 - http://mysite.com/#/Home

Id - http://mysite.com/#/Person/123(人/:id)

我正在试图找出http://durandaljs.com/documentation/Router/需要哪种方法我需要覆盖以支持这样的事情:

http://mysite.com/#/Abc123/Home(:siteId / Home)

http://mysite.com/#/Abc123/Person/123(:siteId / Person /:id)

我将如何实现这样的目标?

1 个答案:

答案 0 :(得分:2)

你回答了自己的问题。要实现http://mysite.com/#/abc123/Home,您必须定义一个对其进行建模的路由,例如:

var router = require('durandal/plugins/router');
router.mapRoute('#/:sideId/home','viewmodels/customViewModel','This is the title of the view');

当有人前往您的路线时,它会导航到您的customViewModel。

请记住,路由器将首先导航到最简单的路线,因此请正确排序(例如,如果您将router.mapRoute('','viewmodels / home','home view')作为第一条路线,路由器将始终转到此路由,而不是在其路由器队列中进一步查看。