【问题标题】:angular-bootstrap progressbar progress shown is incorrect显示的角度引导进度条进度不正确
【发布时间】:2017-04-15 03:43:26
【问题描述】:

我在外部窗口上运行一系列模拟,每次模拟完成时,我都会在主窗口上增加一个进度值(一切都通过 IPC 通信发生)。

整个机制运行良好,进度条上方和内部的视图是正确的,而进度条本身显示的是丑陋的百分比区域。

以此为例(这是一个真实案例的截图):

指令是:

<uib-progressbar ng-if="typeof(progressMax) !== 'string'" 
  class="progress-striped danger" 
  max="100" 
  value="progress*100/progressMax" 
  type="danger">
    <i>{{progress}} / {{progressMax}} ({{progress*100/progressMax}}%)</i>
</uib-progressbar>

progressMax 值在按下按钮时设置(因此,当显示进度条时),progress 从 0 开始并达到 progressMax。

转换已正确完成,如视频所示,但显然,进度条似乎显示为 90/1000 而不是 90/100。

我在一个使用 Webpack 和 AngularJS(和 Babel)的 ElectronJS 项目上运行它,不确定这是否相关。

我已经检查过其他类似的引导程序问题,但到目前为止没有人帮助我(另外,设置 max="progressMax" 也不能正常工作,并且会重现相同的问题)。

【问题讨论】:

  • @isherwood:progress 为 9320,progressMax 为 10000。其他示例:prntscr.com/ddptk4。值(老实说只是“进步”)大约每 10 到 20 毫秒更新一次。
  • 我认为您正在使用 max 属性值。 100 似乎不对。
  • 尝试设置max="{{progressMax}}"。也许这就是你的意思。
  • @isherwood: 设置 max="{{progressMax}}" 会引发错误 (Syntax Error: Token '{' invalid key at column 2 of the expression [{{progressMax}}] starting at [{progressMax}}].),因为 max 在其中包含一个范围变量:即使将范围变量设置为 100,我也会得到相同的结果问题。是否有任何可能发生的“动画”限制?变量“current”经常更新。

标签: javascript angularjs twitter-bootstrap electron angular-bootstrap


【解决方案1】:

我找到了问题。

实际上没有任何与代码相关的内容:我的代码是正确的。

问题是{{progress}} 更新太快,所以视图没有足够的时间来处理数据并更新它。

同样,如果您完成一个进度条,并且在短时间内将其进度设置为 0,则可能会遇到另一个错误:您会看到进度条向后退(从 100 到 0),最终会消失当{{progress}} 满足当前柱状态时再次前进。

简而言之,解决方案是彻底改变数据收集率:我没有频繁增加进度值,而是将我的主线程设置为仅发送 100 个数据包的集合,这样进度增加就会更慢并且,因此,视图将有足够的时间进行更新。

【讨论】:

    猜你喜欢
    • 2021-04-15
    • 2018-10-27
    • 1970-01-01
    • 1970-01-01
    • 2013-09-03
    • 2017-10-16
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多