这是我的shell:
<div>
<div id="content" class="container-fluid page-host main">
<!--ko router: { transition:'entrance', alwaysTriggerAttach: 'true', cacheViews: 'true' }--><!--/ko-->
</div>
</div>
我总是使用以下方式导航到视图:
router.navigate(route);
现在,当处于某个视图(项目)并调用另一个id(/#item / id)的导航功能时,数据会正确更改,但转换不会发生。
有什么建议吗? 感谢
尼古拉斯
答案 0 :(得分:1)
在durandal / js / composition.js的函数中定义了触发转换:
function shouldTransition(context) {
if (system.isString(context.transition)) {
if (context.activeView) {
if (context.activeView == context.child) {
return false;
}
if (!context.child) {
return true;
}
if (context.skipTransitionOnSameViewId) {
var currentViewId = context.activeView.getAttribute('data-view');
var newViewId = context.child.getAttribute('data-view');
return currentViewId != newViewId;
}
}
return true;
}
return false;
如果要触发转换然后在同一视图中导航,可以对if语句进行注释:
if (context.activeView == context.child) {
return false;