List列表渲染时数据不更新怎么办?
我在用 Vue 写一个待办事项列表,数据是通过 props 传进来的,但父组件数据变了,子组件的 List 却没重新渲染。明明 console.log 打印出来新数据是对的,可页面还是旧的。
我试过加 key,也试过用 watch 监听,但都不行。是不是我哪里写错了?相关代码大概是这样:
<template>
<div v-for="item in todoList" :key="item.id">
{{ item.text }}
</div>
</template>
<script>
export default {
props: ['todoList']
}
</script>
this.todoList[0] = xxx?Vue 2 检测不到这种修改。父组件那边改成这样就行:
或者如果你用的是 Vue 3,换成 Proxy 就没这破事了。