小编Kei*_*ith的帖子

Durandal 2.0路由参数化路由(相同路由不同参数)

我可能遗漏了一些基本的东西,但在构建导航时,我试图在shell中定义多个参数化路径.我们的想法是所有这些路由都会将用户传递到同一个视图/ vm,但参数将决定在ajax调用之后显示的内容.路由本身运行良好,但标题始终从列表中的第一个路径传递.

activate: function () {
    router.makeRelative({moduleId: 'viewmodels'}).map([
        {
            route: 'grid/:page',
            title: 'Title 1',
            moduleId: 'grid',
            nav: 3,
            hash: '#grid/param1'
        },
        {
            route: 'grid/:page',
            title: 'Title 2',
            moduleId: 'grid',
            nav: 2,
            hash: '#grid/param2'
        },
        {
            route: 'grid/:page',
            title: 'Title 3',
            moduleId: 'grid',
            nav: 4,
            hash: '#grid/param3'
        },
        {
            route: 'grid/:page',
            title: 'Title 4',
            moduleId: 'grid',
            nav: 5,
            hash: '#grid/param4'
        }
    ]).buildNavigationModel();
};
Run Code Online (Sandbox Code Playgroud)

因此,无论用户点击哪个生成的链接,标题总是返回为"标题1".导航顺序无关紧要.列表中的第一个物理对象将提供所有链接的标题.如果我将链接硬编码到shell.html并在路由器中使用splat我没有这个问题,但是,硬编码链接对于应用来说是不可行的.

所以,问题是,我做错了什么?

durandal

4
推荐指数
1
解决办法
6510
查看次数

标签 统计

durandal ×1