首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DurandalJS -为什么在用户导航时没有立即开始转换

DurandalJS -为什么在用户导航时没有立即开始转换
EN

Stack Overflow用户
提问于 2013-05-24 23:05:05
回答 2查看 457关注 0票数 4

有人能解释一下为什么当用户用Durandal点击链接(导航)时,转换(至少是默认的一入口)不能立即开始吗?

换句话说,我们是否需要两种机制(加载器动画+转换)来指示正在进行的操作(例如:在激活方法中调用ajax )。

我确信有一个很好的理由,或者也许我只需要修改入口转换?

EN

回答 2

Stack Overflow用户

发布于 2013-06-25 01:28:58

看起来Durandal的转换在激活函数解决后就会运行。我问一个similar question,我在哪里列举了我发现的一些可能的解决方案,它们特别适合我的情况:

  • 手动为其deactivate()中的每个视图设置动画,并通过其viewAttached()
  • Bind使其恢复动画.page-host div对router.isNavigating的可见性(使用自定义绑定来处理转换,如来自淘汰型站点的fadeVisible示例)
  • 手动订阅router.isNavigating并在更改

时运行自定义逻辑

希望这能有所帮助。

票数 2
EN

Stack Overflow用户

发布于 2013-06-11 03:24:15

如果您没有要求您的整个应用程序,那么第一个过程将是compress,下载下一个amd模块,然后下载适当的视图。

下一步是在你的模块上调用激活。如果它返回一个Deferred,那么它将等待延迟完成。

一旦激活完成,就会调用转换。转换负责将旧视图换成新视图。

因此,如果启动转换需要一段时间,可能是因为它在下载模块和视图方面滞后。或者您的激活方法需要一点时间才能完成。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16738107

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档