Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 控制viewmodels中默认转换的激活_Javascript_Transition_Durandal 2.0_Durandal Navigation - Fatal编程技术网

Javascript 控制viewmodels中默认转换的激活

Javascript 控制viewmodels中默认转换的激活,javascript,transition,durandal-2.0,durandal-navigation,Javascript,Transition,Durandal 2.0,Durandal Navigation,我的问题很简单,不需要特别解释 在Durandal中,在从/切换到viewmodel时是否可以控制是否使用transition 我希望能够停用动画的原因如下: 我的shell/masterpage中有一个搜索表单模块quicksearch.js,可以从任何地方访问。它所做的是验证输入,然后简单地重定向到results页面results.js,在散列后在URL中传递搜索参数。js负责查询服务器 当在results.js以外的页面上使用quicksearch.js模块时,会触发动画并显示所需的行为。

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

在Durandal中,在从/切换到viewmodel时是否可以控制是否使用transition

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

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

当在results.js以外的页面上使用quicksearch.js模块时,会触发动画并显示所需的行为。但是,在results.js上使用quicksearch.js时,URL中唯一更改的是哈希保持不变后的参数字符串模块名称。尽管如此,这仍然贯穿了再次激活results.js的整个生命周期,从results.js到results.js的动画制作看起来非常糟糕


那么,在某种情况下,是否有任何方法可以阻止Durandal制作内容动画,而只是合成和绑定视图?

我还没有找到从我的viewmodel控制转换过程的方法,我怀疑是否有方法可以做到这一点

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

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

这个案子就这样了