vue3调用vuex中的数据
时间: 2024-10-25 14:09:41 浏览: 14
vue实现将数据存入vuex中以及从vuex中取出数据
在 Vue 3 中,如果你想要从 Vuex store 中获取或修改数据,你需要通过 `store` 对象来进行操作。首先,你需要通过 `useStore` 或 `createApp` 的 `store` 配置选项来注入 store 实例到组件实例中。
1. **在组件中导入 store**:
```javascript
import { useStore } from 'vue-storefront';
const store = useStore();
```
2. **获取 state 数据**:
```javascript
const count = store.state.count; // 如果数据在 mutations 或 getters 中,需要使用 getters
```
3. **触发 mutation 更新状态**:
```javascript
store.commit('increment', payload);
```
4. **监听 state 变化(使用 `mapState`)**:
```javascript
computed: {
...mapState(['count'])
},
// 当count发生变化时,组件会自动更新
watch: {
'$store.state.count': () => {
console.log('Count has changed');
}
}
```
5. **异步数据获取(mutation + action)**:
```javascript
async function fetchData() {
await store.dispatch('fetchDataAction');
console.log(store.getters.someComputedValue);
}
```
阅读全文