在 vue 2 中,通过原生数组函数操作数组时,使用 vue.set() 方法监听非响应式操作:target:修改的数组key:设置的索引value:设置的值
Vue 2 中监听数组变化
在 Vue 2 中,可以通过使用 .push()、.pop()、.shift()、.unshift() 和 .splice() 等原生 JavaScript 数组函数来改变数组。Vue 2 提供了 Vue.set() 方法来监听数组的非响应式操作,如:
// 创建一个 Vue 响应式数组 const array = Vue.observable(['foo', 'bar']); // 使用原生 JavaScript 函数添加一个元素 array.push('baz'); // 数组不会触发更新,因为它是非响应式的 console.log(array.length); // 3
登录后复制
要监听 array 的变化,可以使用 Vue.set() 方法:
// 使用 Vue.set() 监听数组变化 Vue.set(array, 3, 'qux'); // 数组将触发更新,因为现在它是响应式的 console.log(array.length); // 4
登录后复制
Vue.set() 接受三个参数:
- target: 要修改的数组
- key: 要设置的索引
- value: 要设置的值
还可以在数组上使用 v-model 指令,它会自动监听数组的变化:
<template><ul> <li v-for="item in array" :key="item">{{ item }}</li> </ul></template><script> export default { data() { return { array: ['foo', 'bar'], }; }, }; </script>
登录后复制
当 array 发生变化时,
- 将自动更新。
以上就是vue2怎么监听数组变化的详细内容,更多请关注叮当号网其它相关文章!
文章来自互联网,只做分享使用。发布者:走不完的路,转转请注明出处:https://www.dingdanghao.com/article/731460.html