0

对于我的文件夹结构,我有(使用 Apps 文件夹)视图和 viewmodels 文件夹。当我尝试单击其中一个链接时,我不断收到“找不到路线”。页面加载时,Chrome 还会显示“找不到路由”。childRouter 的新手。为什么我得到“找不到路线”的任何想法?

LVA可用性视图模型-

 define(['plugins/router', 'durandal/system',  'knockout'], function (router, system, ko) {

var childRouter = router.createChildRouter()
.makeRelative({
moduleId: 'viewmodels',
route: '',
fromParent: true
}).map([
   { route: 'AccessDenied', moduleId: 'AccessDenied', title: 'AccessDenied',                                                          type: 'intro', hash: '#AccessDenied', nav: true },
   { route: 'LCPost', moduleId: 'LCPost', title: 'LCPost', type: 'intro', hash: '#LCPost',     nav: true }
]).buildNavigationModel();

var vm = {
    router: childRouter,
    title: 'Letter Of Credit',
    introSamples: ko.computed(function () {
        return ko.utils.arrayFilter(childRouter.navigationModel(), function (route) {
            return route.type == 'intro';
        });
    }),
    detailedSamples: ko.computed(function () {
        return ko.utils.arrayFilter(childRouter.navigationModel(), function (route) {
            return route.type == 'detailed';
        });
    })
};
4

2 回答 2

0

这里缺少的组件没有使用 splat 路线。我更改了代码如下并且它起作用了(唯一改变的是添加星号 * ) -

 var childRouter = router.createChildRouter()
 .makeRelative({
 moduleId: 'viewmodels',
 route: '',
fromParent: true
}).map([
     { route: '*AccessDenied', moduleId: 'AccessDenied', title: 'AccessDenied',                                                          type: 'intro', hash: '#AccessDenied', nav: true },
     { route: '*LCPost', moduleId: 'LCPost', title: 'LCPost', type: 'intro', hash:   '#LCPost',     nav: true }
 ]).buildNavigationModel();
于 2014-02-10T17:47:53.060 回答
0

根据我的经验,在设置任何路由器时,您必须提供默认路由以避免出现 Route Not Found 错误消息。

尝试将您的子路由之一的路由值设置为“”。

路线:''

于 2014-02-08T07:26:45.233 回答