javascript - 是否可以在应用程序启动时获取 Durandal 加载进度?

标签 javascript jquery durandal

我们通过调用 app.start() 启动一个使用 durandal 构建的应用程序,然后在我们提供给 Promise 的 then 的函数上设置 sell。现在,通常情况下,我似乎人们在 applicationHost div 中添加一个启动屏幕,该屏幕将在加载应用程序期间接收应用程序内容,但是我想知道是否有可能获取加载进度这样我们就可以在应用程序加载时显示一个正在填充的进度条。

问题是我无法思考如何获得这种进展衡量标准,也无法思考将其放在哪里。这是因为,promise 的 then 内的函数在加载完成后运行,所以我不知道如何拦截该过程以获取此度量,然后填充栏。

有什么办法可以做到这一点,或者确实不可能吗?

最佳答案

您可以使用订阅者/发布者通过事件来执行此操作

创建一个简单的加载器,旨在加载显示绑定(bind)到可观察对象的进度条的 View 模型/ View 。 接下来加载 View 模型并调用事件来指示其进度。订阅主(加载器) View 模型上的事件并增加可观察的进度。

这将允许进度条随着模块的加载而增加。当使用复杂的根/子路由并加载多个 View 模型时,这非常方便。

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

关于javascript - 是否可以在应用程序启动时获取 Durandal 加载进度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21244304/

相关文章:

jquery - 使用 JQuery 的 Uploadify 插件时为 "http error"

JavaScript 读取多个图像并将它们显示在不同的 div 中

knockout.js - Durandal:制作自定义 Knockout 绑定(bind)模块

asp.net - 使用 HotTowel(Durandal 框架)+ VS2012 转换 View

javascript - Node REPL 中 Python 的 dir() 的等价物?

javascript - 高阶函数引用JS

Jquery 每个函数中的每个返回未定义

asp.net-mvc - Durandal KO 绑定(bind) View 问题

javascript - HTML5 视频控件在 Internet Explorer 中不起作用

php - "Show"jQuery 中的 PHP 数组