标签:return getters state vue3 message vuex id store
import { createStore } from 'vuex' export default createStore({ state: { nameVuex:'yjx', levelVuex:100, avtarURLVuex:'http', counterVuex:100, friends:[ {id:111,name:'why0',age:20}, {id:112,name:'why1',age:30}, {id:113,name:'why2',age:26} ] }, // 计算属性 参数1:state 参数2:getters getters: { // 基本使用 counterGetter(state){ return state.counterVuex * 2 }, usersAgesGetter(state){ return state.friends.reduce((pre,item)=>{ return pre+item.age },0) }, // 使用其他的getters : 采用参数2 message(state,getters){ return `名字:${ state.nameVuex } , 等级 :${ state.levelVuex} , 朋友年龄总和 ${getters.usersAgesGetter}` }, // 获取某id的朋友 firendId(state){ return function(id){ return state.friends.find(item=>item.id === id) } } }, // mutations 参数1:state的 想修改state必须通过mutations来修改 mutations: { }, actions: { }, modules: { } })
app.vue <template> <div class="app"> <h3>在模板中直接使用(vue2-3都可用)</h3> 计算 : {{ $store.getters.counterGetter }} <br/> 年龄 : {{ $store.getters.usersAgesGetter}} <br/> 信息 : {{ $store.getters.message}} <br/> <!-- 根据id或者某一个朋友的信息 --> 朋友的信息 : {{ $store.getters.firendId(111) }} <h3>vue3的写法</h3> 计算 : {{counterGetter}} <br/> 年龄 : {{usersAgesGetter}} <br/> 信息 : {{message}} <br/> <!-- 根据id或者某一个朋友的信息 --> 朋友的信息 : {{firendId(111)}} <br/> </div> </template> <script setup> import { toRefs ,computed} from 'vue'; import { useStore } from 'vuex'; const store = useStore() // 直接对 store.state 进行解构 => 不是响应式 // 使用 toRefs 对齐响应式 const {counterGetter,usersAgesGetter,firendId} = toRefs(store.getters) // 针对某一个getters属性适用computed const message = computed(()=>store.getters.message) </script>
标签:return,getters,state,vue3,message,vuex,id,store 来源: https://www.cnblogs.com/qd-lbxx/p/16636642.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。