1

我的问题很简单,不需要特别解释。

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

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

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

当在quicksearch.js除 以外的页面上使用模块时results.js,会触发动画并且它是所需的行为。但是,当 onresults.js和 using时quicksearch.js,URL 中唯一变化的是参数字符串(哈希后的模块名称保持不变)。尽管如此,这仍然经历了results.js再次激活的所有生命周期,从results.js到动画results.js,这看起来很糟糕。

那么,有什么方法可以在某种条件下阻止 Durandal 对内容进行动画处理,而只是组合和绑定视图?

4

1 回答 1

0

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

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

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

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

这就是这个案例

于 2014-04-15T12:53:33.760 回答