在 Angular2 中显示进度条的最佳方式是什么?

问题描述 投票:0回答:2

当执行 HTTP 请求时,在 Angular2 应用程序中显示进度条的最佳方式是什么?

我使用 AngularMaterial2 进度条尝试了以下操作:

<md-progress-bar mode="determinate" value="myValue"></md-progress-bar>

但是如何找到上述代码的“值”呢?

(如果无法找出HTTP请求的实际进度,实现Youtube或Github风格进度条的最佳方法是什么?)

angular angular-material2
2个回答
0
投票

我们无法确定完成HTTP请求所需的时间,这就是为什么

indeterminate
模式更适合HTTP请求的进度。

Angular 的 Http 服务返回一个 Observable,我们可以订阅并处理响应,但目前没有可用的机制从 Http 服务获取进度。

一种方法是使用 XmlHttpRequest 监听 progress 事件,如果使用其

lengthComputable
属性,则可以相应地显示进度条。

因此实现 Youtube 或 Github 风格进度条的一种方法是 如本答案所示

如果您有多个请求,您可以使用已完成请求数的百分比。


-3
投票

使用互联网上广泛提供的公共源代码中的库、模块或包

以下是一些 Angular 2 示例:

  1. https://embed.plnkr.co/rx4RJUFjHqGYMA3jRxDL/

  2. http://www.angulartypescript.com/angular-2-progress-bar/

© www.soinside.com 2019 - 2024. All rights reserved.