是用微信小程序的 MobX 绑定辅助库,来用 this.storeBindings.updateStoreBindings() 方法 如何更新数组对象内的值?并立刻更新pages页面this.data的值
时间: 2024-02-03 17:11:39 浏览: 66
使用 MobX 绑定辅助库,可以通过 `@observable` 注解将数组对象转换为可观察的对象,从而实现监听对象的变化,并及时更新页面数据。
假设有一个数组对象 `list`,首先需要将其转换为可观察对象:
```javascript
import { observable } from 'mobx'
class Store {
@observable list = [{ id: 1, name: 'a' }, { id: 2, name: 'b' }]
}
const store = new Store()
```
然后在页面中,可以通过 `this.storeBindings` 绑定可观察对象的变化:
```javascript
import { observer } from 'mobx-miniprogram-bindings'
Page(
observer({
storeBindings: {
store,
fields: ['list'],
actions: ['updateList']
},
updateList() {
const newList = [...this.store.list]
// 修改 newList 数组对象的值
newList[0].name = 'c'
// 更新 store 中的 list 值
this.store.list = newList
// 立即更新页面数据
this.setData({
list: this.store.list
})
}
})
)
```
当 `list` 数组对象的值发生变化时,页面的 `list` 数据也会立即更新。
阅读全文