Я создаю приложение с Meteor, которое использует индикатор выполнения, определенный в javascript следующим образом:
<script type="text/javascript">
var ProgressBar = require('progressbar.js');
var bar = new ProgressBar.Line(percentbar, {
strokeWidth: 4,
easing: 'easeInOut',
duration: 1400,
color: '#ED6A5A',
trailColor: '#eee',
trailWidth: 1,
svgStyle: {width: '100%', height: '100%'},
text: {
style: {
color: '#999',
position: 'absolute',
right: '0',
top: '30px',
padding: 0,
margin: 0,
transform: null
},
autoStyleContainer: false
},
from: {color: '#ED6A5A'},
to: {color: '#7eed5a'},
step: (state, bar) => {
bar.setText(Math.round(bar.value() * 100) + ' %');
bar.path.setAttribute('stroke', state.color);
}
});
bar.animate((Session.get('vready') * 1.0)/Session.get('vtotal')); // Number from 0.0 to 1.0
</script>
Я хочу, чтобы индикатор выполнения повторно отображался с правильным процентом, когда переменные сеанса, к которым обращаются в последних строках, изменяются. Однако он отображается только один раз и не обновляется при изменении переменных сеанса. Есть ли способ повторно запустить анимацию процентного бара при изменении переменных сеанса?
P.S. Я попытался определить штрих-код процента в моем .js в качестве помощника для шаблона, а не в файле .html, но каждый раз получаю исключение, и полоса вообще не отображается.