vue3vuex数组push
时间: 2023-10-22 22:24:13 浏览: 203
vue+vuex+axios从后台获取数据存入vuex,组件之间共享数据操作
在Vue 3中使用Vuex,你可以通过使用`commit`方法来调用mutations来改变state中的数组。要向数组中添加元素,可以按照以下步骤进行操作:
1. 在Vuex的store文件中,定义一个mutation函数来处理数组的push操作。例如,在`mutations`对象中添加一个名为`pushItem`的mutation函数:
```javascript
mutations: {
pushItem(state, newItem) {
state.array.push(newItem);
}
}
```
2. 在你的组件中,使用`this.$store.commit`来调用这个mutation,将新元素传递给它进行处理。例如,在组件的方法中调用该mutation:
```javascript
methods: {
addItem() {
const newItem = 'New Item';
this.$store.commit('pushItem', newItem);
}
}
```
在上述示例中,`addItem`方法会向数组中添加一个名为'New Item'的新元素。
这样,当你调用`addItem`方法时,Vuex将会触发`pushItem`mutation函数,并将新元素添加到state中的数组中。
请注意,在Vue 3中,你也可以使用`useStore`钩子来获取store实例,并直接调用mutation函数,而不是使用`this.$store.commit`。例如:
```javascript
import { useStore } from 'vuex';
export default {
setup() {
const store = useStore();
const addItem = () => {
const newItem = 'New Item';
store.commit('pushItem', newItem);
}
return {
addItem
}
}
}
```
这里我们使用了Vue 3提供的`setup`函数和`useStore`钩子来获取store实例,并调用mutation函数来改变state。
阅读全文