У меня есть этот фрагмент кода VueJS:
new Vue({
el: '#app',
data: {
tiles: [
{ isActive: false },
{ isActive: false },
{ isActive: false },
{ isActive: false },
{ isActive: false }
]
},
methods: {
startWithLoop: function() {
console.log("startWithLoop");
for(var i = 0; i < 10000; i++ ) { this.blink() };
},
startWithInterval: function() {
console.log("startWithInteral");
setInterval(this.blink);
},
blink: function(){
console.log("blink");
var index = Math.floor(Math.random() * this.tiles.length);
this.tiles[index].isActive = !this.tiles[index].isActive;
}
}
})
Если я вызываю метод startWithInterval
, я могу видеть в представлении, как tiles
постоянно изменяет состояние.
Если я вызываю метод startWithLoop
, я не вижу никаких изменений в представлении, пока цикл не закончится.
Вот JSFiddle
Как можноЯ запускаю изменения в представлении на каждом шаге цикла?