【发布时间】:2013-10-11 21:45:38
【问题描述】:
这是我遵循的步骤:
1) 新的 asp.net mvc 4 项目 2) 选择 durandal spa 模板 3)在shell.js中,添加了这条路线...
{ route: 'orders/:id', moduleId: 'viewmodels/order', nav: false }
4) 添加了一个viewmodel-order.js:
define([], function () {
var Order = (function () {
function Order() {
this.orderId = '';
}
Order.prototype.activate = function (id) {
this.orderId = id;
};
return Order;
})();
return Order;
});
5) 添加了一个view-order.html:
<h1 data-bind="text: orderId"></h1>
6) 添加了一些到welcome.html的链接:
<ul> <li><a href="#orders/1">Order #1</a></li> <li><a href="#orders/2">Order #2</a></li> <li><a href="#orders/3">Order #3</a></li> <li><a href="#orders/4">Order #4</a></li> </ul>
这很好用,我单击欢迎页面中的“订单”链接之一,订单视图打开。 Here is a zip containing the project.
将我刚刚打开的订单添加到导航栏的最佳方式是什么?单击订单链接后,我希望导航栏看起来像这样:
杜兰达尔 |欢迎 |弗里克 |订单 #1
如果我点击另一个订单链接,我希望导航栏看起来像这样:
杜兰达尔 |欢迎 |弗里克 |订单 #1 |订单 #2
我希望能够关闭一个订单并最终得到这个(在关闭第一个订单之后):
杜兰达尔 |欢迎 |弗里克 |订单 #2
最后但同样重要的是, 在订单之间导航时,我希望现有的 view+viewmodel 实例保持不变(注意:viewmodel 脚本返回一个构造函数,因此它与welcome 和 flickr 视图模型略有不同)。
非常感谢任何有关如何执行此操作的指示。
这是Durandal Google Group中返回此问题的链接
【问题讨论】:
-
你解决过这个问题吗?我正在尝试做同样的事情。 stackoverflow.com/questions/21677597/…
-
不,我正在进行的项目被搁置了一段时间。它上周恢复了,如果我们重新访问此导航场景,将发布更新。
标签: durandal durandal-navigation