控制视图模型中默认转换的激活

时间:2013-11-07 17:04:13

标签: javascript transition durandal-2.0 durandal-navigation

我的问题非常简单,无需特别说明。

在Durandal中,是否可以控制在从/向视图模型切换时是否使用转换?

我希望能够停用动画的原因如下:

我的shell /母版页中有一个搜索表单模块quicksearch.js,可以从任何地方访问。它的作用是验证输入,然后简单地重定向到结果页面results.js,在散列后将URL中的搜索参数传递给它。 results.js负责查询服务器。

quicksearch.js以外的页面上使用results.js模块时,会触发动画,这是所需的行为。但是,当在results.js上并且使用quicksearch.js时,URL中唯一更改的是参数字符串(模块名称在哈希保持不变之后)。不过,这经历了再次激活results.js的整个生命周期,动画从results.jsresults.js,看起来非常糟糕。

那么,在某种情况下,有没有办法阻止Durandal动画内容,只是组合并绑定视图?

1 个答案:

答案 0 :(得分:0)

我还没有找到一种方法来控制我的视图模型的转换过程,我怀疑有办法做到这一点。

然而,我问的原因是我想在使用不同的哈希查询字符串导航到当前页面时阻止Durandal动画(更改此查询字符串会触发导航)。解决方案是创建自定义转换并检查目标视图ID是否与当前视图ID相同。依靠依靠

context.activeView.dataset.view === context.child.dataset.view;

其中context.activeView是当前附加的视图,context.child是即将绑定的视图。然后,如果这些ID不同,我会触发动画,如果没有,我只是隐藏context.activeView并显示另一个。

就这种情况而言