我的默认路由有子视图,我可以在Durandal 2.0中将Splat路由设置为默认路由,如果是的话我怎么尝试下面但是它失败了,基本上我想在默认视图中实现一个childrouter我该怎么办呢..
define(['plugins/router'], function (router) {
return {
router: router,
activate: function () {
return router.map([
{ route: 'knockout-samples*details', moduleId: 'ko/index',title: 'Knockout Samples', nav: true, hash: '#knockout-samples' }
]).buildNavigationModel()
.activate();
}
};
});
答案 0 :(得分:1)
如果我理解正确,那么是 - 你可以将splat作为默认路线。您可以在root shell中执行以下操作:
router.map({
moduleId: "child/shell",
route: "*details"
});
然后在你孩子的视图模型中:
var childRouter = rootRouter
.createChildRouter()
.makeRelative({ moduleId: "child" });
// Uses "child/defaultPage" as the view model, and "#/" as the route
childRouter.map({
moduleId: "defaultPage",
route: ""
});
希望有所帮助。