位置: IT常识 - 正文

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

发布时间:2024-01-10
【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() 方法

  • 苹果序列号g0开头是哪里生产的(苹果序列号g0开头的质量好不好)

    苹果序列号g0开头是哪里生产的(苹果序列号g0开头的质量好不好)

  • 抖音没有播放量(从西瓜视频发的视频抖音没有播放量)

    抖音没有播放量(从西瓜视频发的视频抖音没有播放量)

  • 苹果11分期首付多少(苹果分期首付最低多少)

    苹果11分期首付多少(苹果分期首付最低多少)

  • 苹果xmqa62ch/a是什么版本

    苹果xmqa62ch/a是什么版本

  • 拼多多怎么删除拼小圈里面的好友(拼多多怎么删除订单记录)

    拼多多怎么删除拼小圈里面的好友(拼多多怎么删除订单记录)

  • oppo更新完系统怎么这么卡(oppo更新完系统蓝牙用不了)

    oppo更新完系统怎么这么卡(oppo更新完系统蓝牙用不了)

  • 键盘的轴色有什么区别(键盘各种颜色的轴有什么区别)

    键盘的轴色有什么区别(键盘各种颜色的轴有什么区别)

  • 腾讯会议可以录制视频吗(腾讯会议可以录制回看吗)

    腾讯会议可以录制视频吗(腾讯会议可以录制回看吗)

  • 华为nova6耗电量快正常吗(华为nova6耗电太快了)

    华为nova6耗电量快正常吗(华为nova6耗电太快了)

  • 支付宝商家订单号可以查询什么信息(支付宝商家订单号怎么退款)

    支付宝商家订单号可以查询什么信息(支付宝商家订单号怎么退款)

  • 手机卡槽卡死弹不出来(手机卡槽卡死弹不出来修要多少钱)

    手机卡槽卡死弹不出来(手机卡槽卡死弹不出来修要多少钱)

  • 手机输入pin码不知道密码怎么办(手机pin码正确了为什么输入错误)

    手机输入pin码不知道密码怎么办(手机pin码正确了为什么输入错误)

  • 微信交易明细怎么打印(微信交易明细怎么导出excel)

    微信交易明细怎么打印(微信交易明细怎么导出excel)

  • 华为的手机截屏没有了在哪里找(华为的手机截屏存在哪儿了)

    华为的手机截屏没有了在哪里找(华为的手机截屏存在哪儿了)

  • 淘宝发货超时会怎样(淘宝发货超时会影响宝贝权重吗)

    淘宝发货超时会怎样(淘宝发货超时会影响宝贝权重吗)

  • 无锁美版和国行的区别(美版无锁跟国行)

    无锁美版和国行的区别(美版无锁跟国行)

  • 如何让路由器连接wifi(如何让路由器连接热点)

    如何让路由器连接wifi(如何让路由器连接热点)

  • 如何恢复快手本地作品(我的快手恢复)

    如何恢复快手本地作品(我的快手恢复)

  • w10笔记本连不上wifi(w10笔记本连不上网络怎么办)

    w10笔记本连不上wifi(w10笔记本连不上网络怎么办)

  • 抖音地址会自动更改吗(抖音地址自动更新吗)

    抖音地址会自动更改吗(抖音地址自动更新吗)

  • 小米8怎么恢复删除照片(小米8怎么恢复原来的系统)

    小米8怎么恢复删除照片(小米8怎么恢复原来的系统)

  • wps表格行间距怎么设置(wps表格设置行间距)

    wps表格行间距怎么设置(wps表格设置行间距)

  • 控制网速的方法是什么呀?(如何控制网络速度)

    控制网速的方法是什么呀?(如何控制网络速度)

  • React--》React组件变化每次都会导致重新渲染,如何解决?(react组件库有哪些)

    React--》React组件变化每次都会导致重新渲染,如何解决?(react组件库有哪些)

  • 公司注销后虚开还查吗
  • 增值税结转和个体工商户的增值税缴纳分录如何做?
  • 不单独计价的包装物是什么意思
  • 小规模纳税人免征增值税政策
  • 手撕汽车票在哪里弄到
  • 房地产企业成本分摊方法整理(附案例分析)
  • 折扣金额发票
  • 如何确定核定征收的应税所得率
  • 委托收款税务认可吗
  • 个人捐赠支出扣除30%和100%扣除
  • 外经证预缴税款怎么计算
  • 工资分开发的奖金具体个税是多少?
  • 支付宝手续费由谁承担
  • 免税和应税无法划分
  • 出口用的增值税税率
  • 营改增个体工商户优惠政策
  • 发票票种核定怎么提交
  • 销售给个人的货款要走公户吗
  • 非财政专项资金和其他资金的区别
  • 不动产进项税额怎么算
  • 项目自筹资金是什么意思
  • 离退休人员福利
  • 长期待摊费用提前清理
  • 施工企业劳务
  • 公司注销清算债权委托另一股东处理
  • 公司增值税发票怎么开
  • 事业单位坏账怎么处理
  • 保险费做什么会计分录
  • 财务报表包括哪几个表
  • 高新技术企业研发费用归集
  • 代发工资如何合理避税
  • 车间报销办公用品费
  • 自制原始凭证包括哪些凭证
  • php_fileinfo作用
  • 生产成本分配表模板
  • 数字马力前端笔试题rgb
  • 境外汇款预处理是什么意思
  • springmvc执行流程简单
  • python pyecharts
  • php json数据
  • 现金报销医药费
  • 探望生病职工的话语
  • 员工工资计提
  • 怎么盘存货
  • 附加税多计提了怎么调整
  • 长期待摊费用的摊销期限应该是
  • 销售清单需要盖什么章子
  • 货物运输代理人
  • 医疗机构销售药品能否加价
  • mysql数据表存储引擎
  • 固定资产转让损失怎么算
  • 收到银行开的手续费发票如何做帐
  • 员工休产假不发工资违法吗
  • 景观石属于采购哪个品目
  • 技术服务费收入会计分录怎么写
  • 差旅费车票是否可以报销
  • 合同章盖成公章
  • 个人独资企业交什么税
  • window10系统邮件设置在哪里
  • 在Linux系统中安装虚拟window
  • linux忘记root密码怎么办
  • linux vps 教程
  • centos7搭建frp
  • win8浏览器打不开网页但能上网
  • oodag.exe - oodag是什么进程 有什么作用
  • linux的命令行界面
  • 怎么处理人际关系
  • opengl es programming guide
  • 在指定目录查找的文件
  • jquery22插件网
  • python文件描述符
  • js中返回上一页
  • 使用jQuery调用XML实现无刷新即时聊天
  • js创建对象的几种方式
  • python多进程多线程协程
  • android 动画特效
  • 个人出租商铺要交土地使用税吗
  • 莱钢生产什么产品
  • 电子税务局新户报道怎么弄
  • 烟草税多少比例
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号