我在我的durandal App上有一个经典的主要细节视图,在第一个视图中我有一个实体列表和一个过滤器框,这个过滤器框使列表刷新应用过滤器。
单击某个条目会使浏览器导航到详细视图。一切都很好。问题是,当我返回时,我的所有过滤器选择都消失了,列表重新加载而没有过滤器。我已经看到了durandal示例,并且不会发生这种情况,调用activate方法,但VM未实例化。
有人可以给我一些指示。所有路由器设置,激活等都是默认设置。
我正在使用durandal 2.0
答案 0 :(得分:0)
好吧,我明白了,我实际上是从主视图的vm模块返回一个函数,这将使vm每次都实例化,我现在返回一个新对象,问题就解决了:
<强>之前:强>
define([
'plugins/router',
'knockout'
],
function (router,ko) {
var listview= function() {
//allMyobservables here, etc
}
return listview
}
);
立即强>
define([
'plugins/router',
'knockout'
],
function (router,ko) {
var listview= function() {
//allMyobservables here, etc
}
return new listview()
}
);
按预期工作。