<template>
<div>
<div class="static" @click="handleClick(5)">我是静态元素</div>
<div class="dynamic">
<div class="dynamic-item" v-for="(item,index) in list" :key="index" @click="handleClick(index)">我的是动态元素--{{item}}</div>
</div>
</div>
</template>
<script>
export default{
data(){
return{
list: [],
}
},
methods:{
getData(){
axios.get(someapi).then(res =>{
this.list = res.data;
})
},
handleClick(i){
this.$set(this.list,i,true);
console.log(this.list);
}
},
created(){
this.getData();
}
}
</script>
如上代码, 点击静态元素时,可以在vue开发插件中观察到数据的变化,但是当点击动态元素时,却无论如何都无法触发数据的变化(虽然console.log的值已经改变),视图也没有发生改变 。
请给位大神帮忙解决,紧急。
谢谢。
代码没问题的,我这边也重现不了。仔细查找下其他原因,或者不用set试试