1

这是一个两部分的问题。我对杜兰达尔和淘汰赛很陌生。

使用 Durandal 2.0.1 的 HTML Starter Kit 示例。

我用我自己的 vm 为 customers/:id 添加了一条路线,并用 nav = false 查看

 { route: 'customer/:id', moduleId: 'viewmodels/customer/customer', nav: false }

因为 nav 为 false,所以在调用 buildNavigationModel() 时不会使用它。所以 shell.html 没有显示它的选项卡条目。到现在为止还挺好。

  1. 当我导航到 c:\temp\index.html#customer/123 时,我可以看到该页面,但它没有包含在页面顶部的选项卡中。当我查看 shell.html 时,它使用数据绑定来获取要在这些选项卡中显示的路由。那么它不应该显示我刚刚移动到的这条新路线吗?如果我设置路由,nav 为 true,是否足以刷新 shell 显示?还是我第一次尝试理解 ko 失败了?

  2. 所以我有一条客户/:id的路线。如果我去 index#customer/123 我想看到上面第 1 部分的新标签。如果我导航到 index#customer/234,我也希望看到一个新选项卡。然后用户应该能够在两个选项卡之间移动。这可以工作,还是真的只记录 customer/:id 路线而我只会看到一个选项卡按钮?

4

1 回答 1

1

路由器导航模型不会满足您的需求。查看Durandal 2.0 routing parameterized routes (same route different parameter)以查看如何构建自己的导航模型的示例。

于 2014-02-11T12:01:01.353 回答