位置: 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() 方法

  • win10时间同步在哪

    win10时间同步在哪

  • vivox23有没有红外线(vivox23有没有红外线遥控功能)

    vivox23有没有红外线(vivox23有没有红外线遥控功能)

  • 苹果11铃声音量明明调大了为什么响一声就变小了(苹果11铃声音量明明调大了还是小)

    苹果11铃声音量明明调大了为什么响一声就变小了(苹果11铃声音量明明调大了还是小)

  • 钉钉上怎么消除点过的赞(钉钉怎么消除黑名单)

    钉钉上怎么消除点过的赞(钉钉怎么消除黑名单)

  • 腾讯会议切屏会有记录吗(腾讯会议切屏会被发现吗)

    腾讯会议切屏会有记录吗(腾讯会议切屏会被发现吗)

  • asus smart gesture可以卸载吗(asus smart gesture可以关闭吗)

    asus smart gesture可以卸载吗(asus smart gesture可以关闭吗)

  • 安卓手机忘记开机密码怎么办(苹果手机打不开了)

    安卓手机忘记开机密码怎么办(苹果手机打不开了)

  • 短信息发出去能撤回吗(短信发出去还可以撤回吗)

    短信息发出去能撤回吗(短信发出去还可以撤回吗)

  • 笔记本电脑加号怎么打(笔记本电脑加号怎么按)

    笔记本电脑加号怎么打(笔记本电脑加号怎么按)

  • 系统繁忙请稍后再试是怎么回事(支付宝系统繁忙请稍后)

    系统繁忙请稍后再试是怎么回事(支付宝系统繁忙请稍后)

  • 快手加入黑名单会怎样(快手加入黑名单关系会解除吗)

    快手加入黑名单会怎样(快手加入黑名单关系会解除吗)

  • 打电话显示未网络注册(打电话显示无网络服务是怎么回事)

    打电话显示未网络注册(打电话显示无网络服务是怎么回事)

  • 快手直播伴侣为啥会闪退(快手直播伴侣为什么打不开)

    快手直播伴侣为啥会闪退(快手直播伴侣为什么打不开)

  • 红米k20pro和小米9对比(红米k20pro和小米11青春版哪个好)

    红米k20pro和小米9对比(红米k20pro和小米11青春版哪个好)

  • 华为手机开锁密码忘记了怎么办(华为手机开锁密码忘了怎么刷机)

    华为手机开锁密码忘记了怎么办(华为手机开锁密码忘了怎么刷机)

  • 计算机中最小的数据单位(计算机中最小的数据单位是二进制的位,称为比特)

    计算机中最小的数据单位(计算机中最小的数据单位是二进制的位,称为比特)

  • smbshare是什么意思(sme什么意思)

    smbshare是什么意思(sme什么意思)

  • 抖音可以上传多长时间视频(抖音可以上传多少分钟的视频)

    抖音可以上传多长时间视频(抖音可以上传多少分钟的视频)

  • iphone顶部状态栏设置(iphone顶部状态栏不见了怎么恢复)

    iphone顶部状态栏设置(iphone顶部状态栏不见了怎么恢复)

  • ps蒙版反向快捷键(ps2020反向蒙版)

    ps蒙版反向快捷键(ps2020反向蒙版)

  • 动态设置css(动态设置窗体记录源属性)

    动态设置css(动态设置窗体记录源属性)

  • Vue3【Transition(效果、CSS 过渡、使用animation、TransitionGroup、 KeepAlive、Teleport )】(七)-全面详解(学习总结---从入门到深化)

    Vue3【Transition(效果、CSS 过渡、使用animation、TransitionGroup、 KeepAlive、Teleport )】(七)-全面详解(学习总结---从入门到深化)

  • 帝国CMS首页调用内容页下载地址的方法(帝国cms首页调用显示标题图片代码)

    帝国CMS首页调用内容页下载地址的方法(帝国cms首页调用显示标题图片代码)

  • PHPCMS 如何取消水印?(php怎么关闭)

    PHPCMS 如何取消水印?(php怎么关闭)

  • 视同销售计税价格如何确定?
  • 什么情况才能开专票
  • 税法规定固定资产最低价格
  • 资产的计税基础怎么计算
  • 出口退税计算公式 中华会计网校
  • 单位外币账户领取流程
  • 存在弃置费用的固定资产的财务费用
  • 生产能量计入固定成本
  • 加盟店如何缴税
  • 错误的累计折旧结转会计分录如何调整
  • 付款方式分期付款
  • 软件行业个人所得税
  • 永续盘存制的含义
  • 办公用品开普票几个点
  • 发票冲红重开摘要如何写合适?
  • 费用一定计入当期损益吗
  • 多转出的进项税能否转回
  • 应交增值税和未交增值税是一个科目吗
  • 外单位人员能在单位借款吗
  • 控股公司如何抵押股权
  • 企业收到现金支票
  • 先开票后预缴能退吗
  • 公司还款给法人需要缴税吗
  • 不能抵扣的进项发票怎么做分录
  • 机打发票验旧是什么意思
  • 多发的奖金收回怎么做账
  • win10检测系统
  • 怎么远程重装win10
  • 收到地税退税会计分录
  • 工程合同主要看什么
  • 消防费用怎么做分录
  • 桌面右键个性化没有关联的程序
  • 查补税款有未缴纳怎么办
  • linux 命令行
  • 路由器重启后电视放不出来咋办
  • ipcservice.dll是什么?
  • 艾叶泡脚的功效与作用及禁忌
  • 公网访问内网主机
  • php调试工具哪个好用
  • 穆尔官网
  • framework怎么用
  • 资产负债表是不是根据记账凭证生成的
  • 罚款支出可以抵扣所得税吗
  • vue入门
  • 银行查询余额
  • mongodb使用案例
  • 生产部门包括
  • 交强险和车船税在哪里买
  • 企业小汽车折旧年限
  • 应付职工薪酬的工资是实发工资还是应发工资
  • 单位的车辆
  • 防伪公司应该选用什么目标市场策略
  • 办公家具可以一次性抵扣吗?
  • 简易征收增值税一般纳税人怎么报税
  • mysql删除表数据怎么恢复
  • 用sql语句添加删除字段
  • 常用的sql语句有哪些
  • 史上最快的速度
  • window10怎么设置蓝牙
  • 虚拟机vmx
  • bios setup在哪里
  • win10预览设置
  • 系统运行缓慢解决方法
  • Windows(win7/win8/xp/2003)进入安全模式方法详细汇总
  • win7系统鼠标右键菜单设置
  • pcards
  • Linux改变文件或目录的读写和执行权限的命令是
  • macbook编译java
  • WebSocket+node.js创建即时通信的Web聊天服务器
  • cocos creator2.4
  • css兼容浏览器
  • Node.js中的什么模块是用于处理文件和目录的
  • jquery中ajax处理跨域的三大方式
  • js的文件操作
  • 违法的税务记录怎么消除
  • 小规模纳税人能开9个点的发票吗
  • 税费银联缴款
  • 重庆国家税务局发票流向查询
  • 广东电子税务局官网登录入口手机版
  • 目前我国现行法规规定的职业病范围共有几大类几种
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设