uniapp 使用store,定义一个actions的用例
时间: 2023-07-20 22:19:26 浏览: 124
好的,下面是一个使用 `uniapp` 的 `store` 并定义 `actions` 的示例:
```javascript
// store.js
const store = {
state: {
count: 0
},
mutations: {
increment(state) {
state.count++
}
},
actions: {
incrementAsync({ commit }) {
setTimeout(() => {
commit('increment')
}, 1000)
}
}
}
export default store
```
在上面的代码中,我们定义了一个 `store` 对象,它包含了三个属性:`state`,`mutations` 和 `actions`。
`state` 用于存储应用程序的状态数据,`mutations` 用于修改 `state` 中的数据,而 `actions` 则用于异步操作。
在上面的代码中,我们定义了一个名为 `incrementAsync` 的 `actions`,它接收一个 `commit` 函数作为参数。在 `incrementAsync` 中,我们使用 `setTimeout` 函数来模拟一个异步操作,当定时器时间到达时,我们调用 `commit('increment')` 来触发 `mutations` 中的 `increment` 函数,从而修改 `state` 中的数据。
在组件中,我们可以通过 `this.$store.dispatch('incrementAsync')` 来触发 `incrementAsync` 函数,从而修改应用程序的状态数据。
阅读全文