vuex的计算属性_vuex 模块化必要性,及其怎样模块化

大项目中为了方便管理,责任单一,所以模块化是很有必要的。

0057dfff3bf4b53db35f3aa99cc662e2.png

项目结构


1:在src下新建目录store,然后再建storemodule.js文件,把 上篇 store.js文件抽出来:

import Vue from 'vue'import Vuex from 'vuex'import countsub from './countsub' //.js 或者.vue可以省略,其他文件不可以。Vue.use(Vuex)export default new Vuex.Store({modules:{    countsub,}})

2:在store目录下再建countsub.js文件,抽离上篇store.js文件中vuex的四部分内容,然后在storemodule.js文件中注册:

export default{    state:{        count:0       },       getters:{           addcountgetters(state){              return state.count + 4;           }       },       mutations:{//相当于methods,定义一些方法(同步)。方法里有个默认参数--state         addcount(state){             state.count++;         },         subcount(state){             state.count--;         }       },       actions:{//异步操作(也可以定义同步方法)。提交mutation,而不是直接变更状态。         addcountasync(context){             setTimeout(()=>{               context.commit('addcount');             },1000);//延迟一秒。         }       }}

3:修改main.js中的注册文件:

1dc39057162f4c006490f8b4c68b3a99.png

4:修改store.vue中computed的属性内容。如果是用字符串的必须改成用箭头函数,并且state后面必须加新的模块名称(countsub)。

即state.countsub.count

Vuex:{{showcount}}
计算属性:{{showstatevalue}}
vuex中的计算属性:getters:{{addcountgetters}}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值