Durandal的典型路线如下:
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)
我将如何实现这样的目标?
答案 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')作为第一条路线,路由器将始终转到此路由,而不是在其路由器队列中进一步查看。