标签:vue return age Getters Mutations state getters store
系列导航
vue 状态管理 三、Mutations和Getters用法
mutations和getters用法
一、 效果
二、 目录结构
三、源码
index.js
import {createStore} from 'vuex' export default createStore({ state: { counter: 0, students: [ {id: 110, name: 'why', age: 18}, {id: 111, name: 'kobe', age: 24}, {id: 112, name: 'james', age: 30}, {id: 113, name: 'curry', age: 10} ], info: { name: 'kobe', age: 40, height: 1.98 } }, mutations: { increament(state) { state.counter++ }, decrement(state) { state.counter-- }, incrementCount(state, payload) { state.counter += payload.count }, addStudent(state, stu) { state.students.push(stu) }, updateInfo(state) { state.info.name = 'coderwhy' } }, getters:{ powerCounter(state) { return state.counter * state.counter }, more20stu(state) { return state.students.filter(s => s.age > 20) }, more20stuLength(state, getters) { return getters.more20stu.length } , moreAgeStu(state) { // return function (age) { // return state.students.filter(s => s.age > age) // } return age => { return state.students.filter(s => s.age > age) } } }, actions: {}, modules: {} })
App.vue
<template> <div > <h2>-------mutations 的用法----------</h2> <h2>{{$store.state.counter}}</h2> <button @click="addition">增加+</button> <button @click="subtraction">减少-</button> <button @click="addCount(5)">+5</button> <button @click="addStudent">添加学生</button> <h2>---------- getters的用法----------</h2> <h2>{{$store.getters.powerCounter}}</h2> <h2>{{$store.getters.more20stu}}</h2> <h2>{{$store.getters.more20stuLength}}</h2> <h2>{{$store.getters.moreAgeStu(12)}}</h2> </div> </template> <script> import { computed } from 'vue' import { useStore } from 'vuex' import HelloWorld from '@/components/HelloWorld.vue' export default { components: { HelloWorld }, methods: { addCount(count) { // payload: 负载 // 1.普通的提交封装 // this.$store.commit('incrementCount', count) // 2.特殊的提交封装 this.$store.commit({ type: 'incrementCount', count }) }, addStudent() { const stu = {id: 114, name: 'alan', age: 35} this.$store.commit('addStudent', stu) }, }, setup() { const store = useStore() let addition=() => { store.commit('increament') } let subtraction=() => { store.commit('decrement') //this.$store.commit('decrement') } return { addition, subtraction } } } </script>
标签:vue,return,age,Getters,Mutations,state,getters,store 来源: https://www.cnblogs.com/yclh/p/15855387.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。