1

我的默认路由有子视图,如果可以,我可以在 Durandal 2.0 中将 Splat 路由设置为默认路由吗?

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();
    }
};

});

4

1 回答 1

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: ""
});

希望有帮助。

于 2013-11-12T21:31:16.053 回答