Durandal:在组合绑定中加入splat

时间:2014-09-18 06:12:58

标签: knockout.js durandal knockout-2.0 durandal-2.0 durandal-navigation

我在shell.js

中配置了 splat route
 router.map([
   { route: 'projects*modal', title: 'Projects', moduleId: 'views/projects', nav: true },
]).buildNavigationModel();

这就是我尝试使用自定义模态视图中的一些splat参数来构建视图

<div data-bind="compose: 'views/projects/thisIsOptionalSplatParameter'"></div>

这不起作用。它仅在我直接在地址栏上更新时才有效。

那么,如何在撰写绑定的路径中包含一些参数?

如果我在模态中使用它,我需要让页面知道。所以我需要传递这样的东西:

http://localhost/#projects/modalTrue

并使用项目页面中的激活功能检索它:

var isInModal;

activate: function(params)
{
   if (typeof params !== 'undefined' && params !== null && params.replace('/', '') === 'modalTrue')
        isInModal = true;
    else
        isInModal = false;
}

非常感谢任何帮助! 感谢

1 个答案:

答案 0 :(得分:1)

您是否尝试过使用activationData attribute进行撰写绑定? 您的外部视图可以捕获路径参数,将其存储在一个observable中,再次通过activationData提供给组合视图。