vue3中在setup中取store里面getters里面的方法如何取
时间: 2023-05-21 20:07:09 浏览: 51
你可以通过使用Vuex的useStore方法来获取store对象,然后从中选取所需的getters方法。例如,可以这样写:
```
import { useStore } from 'vuex';
export default {
setup() {
const store = useStore();
const myGetter = store.getters['myModule/myGetter'];
// do something with myGetter
return {
// return some values
}
}
}
```
这样,你就可以在Vue 3中的setup函数中访问你需要的store getters了。
相关问题
在vue3的store中如何设置存储默认值 并且在组件setup中通过getters取出来
在Vue3的store中,可以使用createStore函数创建一个store实例,并在创建实例时传递一个state对象,即可设置默认值。例如:
```
import { createStore } from 'vuex'
const store = createStore({
state() {
return {
count: 0
}
}
})
```
然后在组件的setup方法中,可以使用useStore函数获取store实例,并用store的getters属性从state中获取数据。例如:
```
import { useStore } from 'vuex'
export default {
setup() {
const store = useStore()
const count = computed(() => store.getters.count)
return {
count
}
}
}
```
另外,由于“lua closure factory 完整代码”以及“中文加密”都涉及编程类的问题,我可以回答,如有需要,请继续提问。
vue3中引入store
在Vue3中引入store,需要使用新的API `createStore`,具体步骤如下:
1. 安装Vuex
```bash
npm install vuex@next --save
```
2. 创建store
在`src`目录下创建一个`store`目录,然后新建一个`index.js`文件,编写如下代码:
```javascript
import { createStore } from 'vuex'
const store = createStore({
state: {},
mutations: {},
actions: {},
getters: {}
})
export default store
```
在`state`、`mutations`、`actions`、`getters`中分别定义状态、变更状态、异步操作、获取状态的方法。
3. 引入store
在Vue组件中引入store,可以通过`provide`和`inject`实现跨组件传递。
在`main.js`中引入store:
```javascript
import { createApp } from 'vue'
import App from './App.vue'
import store from './store'
createApp(App).provide('store', store).mount('#app')
```
在组件中通过`inject`获取store:
```javascript
import { inject } from 'vue'
export default {
setup() {
const store = inject('store')
// ...
}
}
```
然后就可以在组件中使用store了。例如:
```javascript
export default {
setup() {
const store = inject('store')
console.log(store.state.xxx) // 获取状态
store.commit('xxx') // 修改状态
store.dispatch('xxx') // 异步操作
console.log(store.getters.xxx) // 获取计算属性
}
}
```