0

Durandal 的典型路线如下所示:

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

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

我试图弄清楚我需要在http://durandaljs.com/documentation/Router/上使用哪些方法,我需要覆盖以支持如下内容:

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

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

我将如何实现这样的事情?

4

1 回答 1

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') 作为您的第一条路线,路由器将始终转到此路由,而不是在其路由器队列中进一步阅读)。

于 2013-03-16T00:11:16.470 回答