Я создаю сайт, используя VueJS и Bootstrap. Я решил использовать «Ваниль» Bootstrap, а не VueJS фреймворк, такой как VueBootstrap или VueStrap.
Я пытаюсь создать пользовательский компонент, обертывающий индикатор выполнения Boostrap, и хотел бы, чтобы он имел атрибут данных value
, который со временем может измениться. С помощью следующего кода, почему компонент не перерисовывается при изменении value
? Разве v-bind
не должен этого допустить? Вот мой код:
<template>
<div>
<h1>Item</h1>
<div class="progress" style="height: 50px;">
<div
class="progress-bar"
role="progressbar"
style="width: 25%;"
v-bind:aria-valuenow="value"
aria-valuemin="0"
aria-valuemax="100"
></div>
</div>
</div>
</template>
<script>
export default {
data: () => {
return {
value: 0,
timer: null
};
},
mounted() {
this.timer = setInterval(() => {
this.value = 25 + Math.random() * 75;
console.log(this.value);
}, 2000);
},
beforeDestroy() {
clearInterval(this.timer);
this.timer = null;
}
};
</script>
Я вижу журналы в своей консоли, но на индикаторе выполнения ничего не движется.
Моя конечная цель - анимировать компонент так, чтобы он загружался, значение постепенно изменяется от 0 до заданного значения.