微信小程序监听对象和数组
时间: 2024-09-30 13:06:17 浏览: 48
微信小程序通过`wx.onObjectPropertyChange`和`wx.onArrayChange`这两个API来监听对象属性和数组的变化。它们的工作原理是这样的:
1. **监听对象属性变化**:
- `wx.onObjectPropertyChange(obj, callback)`: 你需要传入一个目标对象和一个回调函数。当指定的对象的属性值发生变化时,回调函数会被触发。在回调函数中,你可以获取到新的属性值以及改变前后的状态。
```javascript
let obj = {
name: '张三'
};
wx.onObjectPropertyChange(obj, (property, oldVal, newVal) => {
console.log(`属性 ${property} 从 ${oldVal} 变为了 ${newVal}`);
});
```
2. **监听数组变化**:
- `wx.onArrayChange(array, callback)`: 同样需要一个目标数组和一个回调函数。当数组的内容发生增删改查时,回调会接收到更新的数组、删除的元素、新增的位置等信息。
```javascript
let arr = ['a', 'b', 'c'];
wx.onArrayChange(arr, (array, changes) => {
changes.forEach((change) => {
if (change.type === 'add') {
console.log('添加了', change.key);
} else if (change.type === 'delete') {
console.log('删除了', change.key);
}
});
});
```
阅读全文