这是一个两部分的问题。我对杜兰达尔和淘汰赛很陌生。
使用 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 没有显示它的选项卡条目。到现在为止还挺好。
当我导航到 c:\temp\index.html#customer/123 时,我可以看到该页面,但它没有包含在页面顶部的选项卡中。当我查看 shell.html 时,它使用数据绑定来获取要在这些选项卡中显示的路由。那么它不应该显示我刚刚移动到的这条新路线吗?如果我设置路由,nav 为 true,是否足以刷新 shell 显示?还是我第一次尝试理解 ko 失败了?
所以我有一条客户/:id的路线。如果我去 index#customer/123 我想看到上面第 1 部分的新标签。如果我导航到 index#customer/234,我也希望看到一个新选项卡。然后用户应该能够在两个选项卡之间移动。这可以工作,还是真的只记录 customer/:id 路线而我只会看到一个选项卡按钮?