Vue中对象或数组数据更新但视图不刷新问题的解决策略
    		       		warning:
    		            这篇文章距离上次修改已过443天,其中的内容可能已经有所变动。
    		        
        		                
                
<template>
  <div>
    <ul>
      <li v-for="(item, index) in items" :key="index">
        {{ item.text }}
      </li>
    </ul>
  </div>
</template>
 
<script>
export default {
  data() {
    return {
      items: [
        { id: 1, text: 'Learn Vue.js' },
        { id: 2, text: 'Learn JavaScript' },
        // ...
      ]
    }
  },
  methods: {
    updateItem(index, newData) {
      // 使用 Object.assign 来确保 Vue 可以检测到变化
      this.items.splice(index, 1, Object.assign({}, this.items[index], newData));
    }
  }
}
</script>这个例子中,我们使用了v-for指令结合:key属性来渲染列表,并使用updateItem方法来更新数组中特定项的数据,确保视图能够正确地响应这些变化。Object.assign用于创建一个新对象,这样 Vue 就能追踪到属性的变化。
评论已关闭