25.Vuex 结合 Composition API的使用
程序员文章站
2024-03-12 17:04:08
...
Vuex结合CompositionAPI使用
Composition API中没有this.$store,可以使用useStore来替代
import { useStore } from 'vuex'
export default {
setup () {
const store = useStore()
}
}
-
Composition API中访问state和getters
import { computed } from 'vue' import { useStore } from 'vuex' export default { setup () { const store = useStore() return { // access a state in computed function count: computed(() => store.state.count), // access a getter in computed function incCount: computed(() => store.getters.incCount) } } }
-
Composition API中访问Mutations和Actions
import { useStore } from 'vuex' export default { setup () { const store = useStore() return { // access a mutation incCount: () => store.commit('incCount'), // access an action incSetBanner: () => store.dispatch('incSetBanner') } } }
完整示例:
在News.vue组件中结合Composition API使用store,
访问state,getters,mutations,actions
<template> <div> <h1>Composition API使用Vuex</h1> 访问userStore模块里面state数据count:{{count}} <br> 访问userStore模块里面state数据num:{{num}} <br> 访问userStore模块里面getters的revMsg:{{revMsg}} <br> <button @click="incCount">调用userStore模块的mutations的incCount方法</button> <br> banner:{{banner}} <br> <button @click="doCount">调用userStore模块的actions的doCount方法</button> <br> <button @click="incSetBanner">调用userStore模块的actions的incSetBanner方法</button> </div> </template> <script lang="ts"> import {defineComponent,computed} from "vue"; import {useStore} from 'vuex' export default defineComponent({ setup() { const store=useStore(); return { // 访问userStore里面的state=>count count:computed(() => store.state.user.count), banner:computed(() => store.state.user.banner), // 访问userStore里面的getters=>num num:computed(() => store.getters.num), // 访问userStore里面的getters=>revMsg revMsg:computed(() => store.getters.revMsg), // 调用userStore里面的mutations=>incCount incCount: () => store.commit("incCount"), // 调用userStore里面的actions=>doCount doCount:()=>store.dispatch("doCount"), // 调用userStore里面的actions=>incSetBanner incSetBanner:()=>store.dispatch("incSetBanner"," 传递的参数") } } }); </script>
推荐阅读
-
25.Vuex 结合 Composition API的使用
-
Java使用JavaMail API发送和接收邮件的代码示例
-
promise的api使用
-
asp.net结合aspnetpager使用SQL2005的存储过程分页
-
Java使用新浪微博API通过账号密码方式登陆微博的实例
-
解析电子邮件的基本概念及JavaMail API邮件功能使用
-
asp.net结合aspnetpager使用SQL2005的存储过程分页
-
解析Java的Jackson库中Streaming API的使用
-
Java使用新浪微博API通过账号密码方式登陆微博的实例
-
解析电子邮件的基本概念及JavaMail API邮件功能使用