我正在外部窗口上运行一系列模拟,每次模拟完成后,我都会在主窗口上增加一个进度值(一切都通过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值(因此,当显示进度条时),进度从0开始并达到progressMax。
转换正确完成,如视频中所示,但显然,进度条似乎显示为如果它是90/1000而不是90/100。
我在使用Webpack和AngularJS(和Babel)的ElectronJS项目上运行它,不确定这是否与任何意义相关。
我已经检查了其他类似的bootstrap问题,但到目前为止还没有人帮助过我(同样,设置max="progressMax"
也不起作用并重现同样的问题)。
答案 0 :(得分:1)
我发现了这个问题。
几乎没有与代码相关的内容:我的代码是正确的。
问题是{{progress}}
更新太快,因此视图没有足够的时间处理数据并进行更新。
同样,如果您完成进度条可能会遇到另一个错误,并且在很短的时间之后,您将其进度设置为0:您将看到该条向后(从100到0),并最终会当{{progress}}
符合当前条形状时,再次提前。
简而言之,解决方案正在彻底改变数据收集率:我不是经常增加进度值,而是将主线程设置为仅发送100个数据包的集合,因此进度增加了因此,视图将有足够的时间更新。