是否有可能在应用程序启动时获得Durandal加载进度?

时间:2014-01-20 21:16:11

标签: javascript jquery durandal

我们通过调用app.start()启动一个使用durandal构建的应用程序,然后在我们为promise then提供的函数上设置sell。现在,通常情况下,我似乎有人在applicationHost div中添加一个启动画面,它会在加载应用程序时收到应用程序内容,但是我想知道是否有可能获得加载进度以便我们可以在应用加载时显示一个正在填充的进度条。

问题在于我无法思考如何获得这种衡量进展的方法,也无法考虑如何实现这一目标。这是因为,promise then中的函数在加载完成后运行,所以我不知道如何拦截进程以获取此度量然后填充条。

有没有办法做到这一点,或者真的不可能?

1 个答案:

答案 0 :(得分:1)

您可以使用订阅者/发布者

进行活动

创建一个简单的加载器,用于加载viewmodel / view,显示绑定到observable的进度条。 接下来加载视图模型并调用事件以指示它的进度。在main(loader)viewmodel上订阅事件并增加可观察的进度。

这将允许进度条在模块加载时递增。当使用复杂的Root / Child路由并加载多个视图模型时,这非常方便。

唯一的问题是随着代码的发展需要调整进度增量。