直接對數組元素賦值,是不會更新視圖的。要使用arr.splice()方法更新數組,才會更新視圖。
<template>
<div>
<ul>
<li v-for="(item,i) in arr">{{item}}</li>
</ul>
<button @click="wrong">失效</button>
<button @click="correct">生效</button>
</div>
</template>
<script>
export default {
name: "Home",
data () {
return {
arr:[1,2,3]
};
},
methods: {
wrong(){
this.arr[0] = 9; // 視圖不會更新,頁面上還是1,2,3
},
correct(){
this.arr.splice(0,1,9); // 視圖更新了,頁面上是9,2,3
}
},
}
</script>
<style lang="css" scoped>
</style>
