this.$set 数组其他跟着变动
时间: 2023-10-17 22:35:07 浏览: 99
在Vue中,当我们直接通过索引设置数组项的值或者修改数组的长度时,Vue无法检测到这些变动,导致页面视图不会更新。为了解决这个问题,可以使用Vue提供的方法this.$set()来更新数组并触发状态更新。
this.$set()方法可以在Vue实例中使用,用于更新数组的指定位置的值。例如,如果我们想要更新数组items中的第index项的值为newValue,可以使用this.$set(this.items, index, newValue)来实现。这样,数组的变动将会被Vue检测到,并且页面视图也会对应地更新。
除了this.$set()之外,还可以使用Vue.set()或者数组的splice、concat等方法来修改数组,并触发状态更新。这些方法都可以达到相同的效果,即让数组的变动被Vue检测到并更新页面视图。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [vue中this.$set()-数据更新,视图没有更新、element计数器加减失效的问题](https://blog.csdn.net/weixin_44997474/article/details/127978702)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* [vue 数组和对象不能直接赋值情况和解决方法(推荐)](https://download.csdn.net/download/weixin_38513794/14805784)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文