位置: IT常识 - 正文

【vue2】vuex的安装、配置与使用(怎么安装vue2.0)

编辑:rootadmin
【vue2】vuex的安装、配置与使用 一、前言

推荐整理分享【vue2】vuex的安装、配置与使用(怎么安装vue2.0),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vuex怎么安装,vue的安装,vue2.0安装,vue安装vuex,vue安装vuex,vue安装vuex,vue2.0安装,vuex安装 报错,内容如对您有帮助,希望把文章链接给更多的朋友!

使用vuex可以实现数据的共享。

二、安装

vscode中新建终端安装vuex。由于vue2不能使用vuex4的版本,所以在安装时需要指定版本3

npm i vuex@3三、vuex工作流

vuex核心包括actions、mutations、state。

①state用来存储数据;

②actions用来响应组件的事件,也可以对数据进行加工,或者进行后端请求,也就是说组件中调用dispatch方法,可以触发actions中的方法;

③mutations用来操作state,actions中调用commit方法来调用mutations。

④其他:当不需要对数据进行额外加工的时候,可以直接在组件中调用commit方法触发mutations中的方法

四、配置

步骤一:新建文件夹store,文件夹下新建index.js文件

步骤二:index.js中完成配置:还没有配置数据和事件

import Vue from 'vue'import Vuex from 'vuex'Vue.use(Vuex)// 用来存储数据const state = {}// 响应组件中的事件const actions = {}// 操作数据const mutations = {}// 用来将state数据进行加工const getters = {}// 新建并暴露storeexport default new Vuex.Store({ state, actions, mutations, getters})

步骤三:main.js中引入

import Vue from 'vue'import App from './App.vue'import store from './store/index';Vue.config.productionTip = falsenew Vue({ render: h => h(App), store}).$mount('#app')五、使用

5.1、常规写法

【vue2】vuex的安装、配置与使用(怎么安装vue2.0)

1、state

组件中使用$store.state.xxx获取值,例如:

<li v-for="p in $store.state.person" :key="p.id"> 姓名:{{ p.personName }} 年龄:{{ p.age }} <button @click="deletePerson(p.id)">删除</button></li>

vuex的index.js:

const state = { person: [ { id: nanoid(), personName: "张三", age: 18 }, { id: nanoid(), personName: "张4", age: 28 }, { id: nanoid(), personName: "张5", age: 38 }, ]}

2、getter

组件中使用$store.getters.xxx获取getters中的返回值

<span> 学生年龄总和:{{ $store.getters.getAllPersonAge }} </span>

index.js:

// 用来将state数据进行加工:类似于computedconst getters = { getAllPersonAge(state) { var sumAge = 0; state.person.forEach(element => { sumAge += element.age }); return sumAge }}

3、actions

组件中使用this.$store.dispatch("aaa", xxx)触发actions中的aaa方法,参数为xxx

<input type="text" v-model="newPerson" /><button @click="addPerson">添加</button>addPerson() { if (this.newPerson == "") { alert("请输入姓名"); return; } this.$store.dispatch("addPerson", this.newPerson); this.newPerson=""},

index.js

// 响应组件中的事件const actions = { //添加人员 addPerson(content, value) { console.log(value) const person = { id: nanoid(), personName: value, age: 18//暂时写死 } content.commit("addPerson", person) }}

4、mutations

组件中:

<button @click="deletePerson(p.id)">删除</button>deletePerson(id) { this.$store.commit("deletePerson", id);},

index.js

const mutations = { addPerson(_, value) { this.state.person.unshift(value) }, deletePerson(_, id) { const newArr = this.state.person.filter(p => { return p.id != id }) this.state.person = newArr }}

5.2 四个map写法

上述写法都需要手动写this.$store.xxx比较麻烦,可以在组件中引入vuex的四个map,简化操作

组件中引入:

import { mapState, mapActions, mapGetters, mapMutations } from "vuex";

使用:

computed: { ...mapState(["person"]), ...mapGetters(["getAllPersonAge"]),},methods: { ...mapActions({ addPerson1: "addPerson", //第一个为本地方法名,第二个参数为actions中的方法名}), ...mapMutations(["deletePerson"]),//当本地和index.js中的方法名一致时,可以简化成数组写法},

使用:直接使用上面中定义的参数名

<input type="text" v-model="newPerson" /> <button @click="addPerson1(newPerson)">添加</button> <ul> <li v-for="p in person" :key="p.id"> 姓名:{{ p.personName }} 年龄:{{ p.age }} <button @click="deletePerson(p.id)">删除</button> </li> </ul> <span> 学生年龄总和:{{ getAllPersonAge }} </span>五、其他

以上就是vuex的所有介绍,我们一起进步。

本文链接地址:https://www.jiuchutong.com/zhishi/290785.html 转载请保留说明!

上一篇:阿尔高阿尔卑斯山脉的Schrecksee湖,德国巴伐利亚 (© Andreas Hagspiel/EyeEm/Getty Images)(阿尔卑斯山百度百科)

下一篇:JavaScript includes() 方法

  • 进项税额怎么计算例题
  • 摊余成本的构成内容
  • 利息收入交税税率
  • 托收承付和委托收款的含义和相同之处
  • 别人公司过账用自己的银行卡会查吗
  • 销售农产品是否可以抵税
  • 收到就业补贴财务如何做账
  • 小规模纳税人不允许开具零税率发票
  • 资本回收系数等于什么系数与利率之和
  • 存款利率怎么算存一年后的金额
  • 生物资产出售的账务处理
  • 主营业务收入具体是什么
  • 账本印花税怎么做账
  • 行政事业单位工作经费使用范围
  • 行业协会需要办理税务登记证吗
  • 社会保险的登记和申报程序
  • 企业办税人员收入怎么算
  • 为什么要开增值税
  • 母子公司之间转让土地使用权
  • 减税降费新政策解读
  • 会计股权分配
  • 附加税退款分录
  • 办理银行承兑汇票贴现的会计分录
  • 外国企业代表处企业所得税
  • 社保基数如何计算单位和个人承担多少
  • 差错更正未来适用法
  • 网速不稳定的解决方法
  • php中session的作用
  • 提供应税服务的纳税义务发生时间
  • 最小的洗衣机是多少
  • wordpress进行商城开发
  • 向境外支付技术提成费需要提交什么材料
  • 现金日记账采用三栏式
  • android_app.intro
  • 小企业会计准则财务报表至少包括
  • 影视行业的会计好做吗
  • centos php7.4
  • 前端高手进阶
  • gpt 4927
  • 3d人体骨骼模型软件
  • 增值税普通发票几个点
  • 开具农产品收购发票需要什么资料
  • 不想预缴所得税交多了怎样先把利润转到费用
  • 网上学电脑
  • 以货换货怎么交印花税
  • 28栏分次预缴税额是手动填写吗?
  • 进口化妆品品牌大全
  • 纳税申报是根据什么填写的
  • 税金及附加如何计算公式
  • 无法支付的应付账款为什么计入营业外支出
  • 有限公司股权转让需要股东会决议吗
  • 应收帐款的帐务处理流程
  • 转让金融商品应交增值税可以抵扣吗
  • 化妆品消费税纳税标准
  • 进项税额转出再转入
  • 合资公司股东如何退股
  • 远期支票最长期限
  • 本月多交的增值税
  • 待摊费用在新会计准则里面有吗
  • 过程要求可包括哪些内容
  • ubuntu 10.04安装
  • Mac怎么连接扫描仪
  • Win10 Mobile 10586升级后无限重启怎么办 硬重启帮您解决
  • Skype.exe - Skype是什么进程 有什么用
  • 电脑window8系统怎么样
  • linux系统的服务器,重启之后运算速度变慢
  • linux使用curl进行接口测试
  • linux的虚拟终端有几个
  • linux定时任务详解
  • 原生js添加css样式
  • js中的
  • middle html
  • nginx服务器日志
  • [置顶]津鱼.我爱你
  • java 调试
  • unity动画教程
  • java教程 视
  • 率土之滨怎么提高建设值上限
  • 土地出让金入账后就摊销吗
  • 原木进项税率
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设