PHP前端开发

vue2怎么监听数组变化

百变鹏仔 2个月前 (10-30) #前端问答
文章标签 数组
在 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() 接受三个参数:

立即学习“前端免费学习笔记(深入)”;

还可以在数组上使用 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 发生变化时,