位置: IT常识 - 正文

Vuex的五个属性及使用方法。(vuex的五个属性及使用方法 简书)

编辑:rootadmin
Vuex的五个属性及使用方法。 Vuex介绍

推荐整理分享Vuex的五个属性及使用方法。(vuex的五个属性及使用方法 简书),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vuex的五个属性是什么意思,vuex的五个属性怎么读,vuex的五个属性及使用方法 简书,vuex的五个属性及使用方法 简书,vuex的五个属性在组件中一般放在哪里使用?,vuex的五个属性及作用,vuex的五个属性是什么意思,vuex的五个属性是什么意思,内容如对您有帮助,希望把文章链接给更多的朋友!

vuex是专门为Vue.js应用程序开发的状态管理模式。它采用集中式存储,管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。

state 数据存贮

getter state的计算属性

mutation 更改state中状态的逻辑 同步操作

action 提交mutation 异步操作

model 模块化

state基本数据,存储变量

使用方法:

可以通过this.$store.state 获得Vuex的state,如下:

// src/store/indexconst store = new Vuex.Store({state: {number:66}})const app = new Vue({//..store,computed: {count: function(){return this.$store.state.number}},// this.$store.state.number})// 每当 store.state.number 发生变化, 都会重新求取计算属性,并且触发更新相关联的 DOM。

mapState辅助函数

// 在需要使用的文件里import { mapState } from 'vuex'export default {// ...methods:{...mapState({ myNumber: 'number' }),}}mutations

提交mutation是更改Vuex中的store中的状态的唯一方法。

mutation必须是同步的,如果要异步需要使用action。

每个 mutation 都有一个字符串的 事件类型 (type) 和 一个 回调函数 (handler)。这个回调函数就是我们实际进行状态更改的地方,并且它会接受 state 作为第一个参数,提交载荷作为第二个参数。(提交荷载在大多数情况下应该是一个对象),提交荷载也可以省略的。

const store = new Vuex.Store({state: {number: 1},mutations: {//无提交载荷Submit(state) {state.number++}//提交载荷SubmitN(state, payload) {state.number += payload.num}}})

使用方法;

你不能直接调用一个 mutation handler。这个选项更像是事件注册:“当触发一个类型为 Submit 的 mutation 时,调用此函数。”要唤醒一个 mutation handler,你需要以相应的 type 调用 store.commit 方法:

//无提交载荷this.$store.commit('Submit')//提交载荷this.$store.commit('SubmitN', {num: 66})Vuex的五个属性及使用方法。(vuex的五个属性及使用方法 简书)

mapMutations 辅助函数

与其他辅助函数类似,你可以在组件中使用 this.$store.commit(‘xxx’) 提交 mutation,或者使用 mapMutations 辅助函数将组件中的 methods 映射为 store.commit 调用。

// 在需要使用的文件里import { mapMutations } from 'vuex'export default {    methods:{...mapMutations({ mySubmit: 'Submit', mySubmitN: 'SubmitN'}),}actions

Action 类似于 mutation,不同在于:

Action 提交的是 mutation,而不是直接变更状态。

Action 可以包含任意异步操作。

const store = new Vuex.Store({state: {number: 0},mutations: {submit (state) {state.number++}},actions: {submit (context) {setInterval(function(){context.commit('submit')}, 1000)}}})

注意:Action 函数接受一个与 store 实例具有相同方法和属性的 context 对象,因此你可以调用 context.commit 提交一个 mutation,或者通过 context.state 和 context.getters 来获取 state 和 getters。

使用方法:

分发actions,即Action 通过 store.dispatch 方法触发:

this.$store.dispatch('increment')

mapActions辅助函数

你在组件中使用 this.$store.dispatch('xxx') 分发 action,或者使用 mapActions 辅助函数将组件的 methods 映射为 store.dispatch 调用

import { mapActions } from 'vuex'export default {//..methods: {...mapActions(['submit']),...mapActions({add: 'submit'})}}Modules

使用单一状态树,导致应用的所有状态集中到一个很大的对象。但是,当应用变得很大时,store 对象会变得臃肿不堪。

为了解决以上问题,Vuex 允许我们将 store 分割到模块(module)。每个模块拥有自己的 state、mutation、action、getters、甚至是嵌套子模块——从上至下进行类似的分割:

import Vue from 'vue'import Vuex from 'vuex'import getters from './getters'import app from './modules/app'import settings from './modules/settings'import user from './modules/user'Vue.use(Vuex)const store = new Vuex.Store({modules: {app,settings,user},getters})export default store

使用模块化的state,mutations,action,需在使用方法前加模块名

如:

this.$store.state.user.number

this.$store.commit(‘user/xxx’)

this.$store.dispatch(‘user/xxx’)

gettersimport Vue from 'vue'import Vuex from 'vuex'import getters from './getters'Vue.use(Vuex)const store = new Vuex.Store({getters})export default storeconst getters = {sidebar: state => state.app.sidebar,device: state => state.app.device,token: state => state.user.token,username: state => state.user.username,empno: state => state.user.empno}export default getters

使用:this.$store.grtters.sidber , this.$store.grtters.device ,以此类推

mapGetters

import { mapGetters } from 'vuex'// mapGetters的作用:把getters映射为计算属性computed: {...mapGetters(['getPartList']),// ...mapGetters({// calcList: 'getPartList'// }),// calcList () {// // 注意:获取getters的值,不需要加括号(当属性使用)// return this.$store.getters.getPartList// },}
本文链接地址:https://www.jiuchutong.com/zhishi/297665.html 转载请保留说明!

上一篇:Squarespace 和 WordPress 的区别

下一篇:[毕业设计]2022-2023年最新最全计算机专业毕设选题推荐汇总(毕业设计2022年幼儿园)

  • 网络正常微信发不出去怎么回事(网络正常微信发不出去图片)

    网络正常微信发不出去怎么回事(网络正常微信发不出去图片)

  • 淘宝登录不了怎么解绑支付宝(淘宝登录不了怎么办总优化)

    淘宝登录不了怎么解绑支付宝(淘宝登录不了怎么办总优化)

  • 苹果手机怎么关闭自动卸载不常用软件(苹果手机怎么关闭境外来电)

    苹果手机怎么关闭自动卸载不常用软件(苹果手机怎么关闭境外来电)

  • 10086怎么添加亲情号码(10086怎么添加亲情号码发什么)

    10086怎么添加亲情号码(10086怎么添加亲情号码发什么)

  • 手机视频音画不同步怎么调(手机视频音画不一致怎么处理)

    手机视频音画不同步怎么调(手机视频音画不一致怎么处理)

  • 华为p30备忘录在哪(华为p30备忘录在手机哪个文件夹)

    华为p30备忘录在哪(华为p30备忘录在手机哪个文件夹)

  • 下载的PPT不能编辑怎么办?(下载下来的ppt为什么不能修改?)

    下载的PPT不能编辑怎么办?(下载下来的ppt为什么不能修改?)

  • 抖音取消赞会限流吗(抖音取消赞会影响权重吗)

    抖音取消赞会限流吗(抖音取消赞会影响权重吗)

  • 荣耀play4tpro怎么设置返回键(荣耀play4tpro怎么关闭hd)

    荣耀play4tpro怎么设置返回键(荣耀play4tpro怎么关闭hd)

  • 入网资格校验失败是什么意思(入网资格校验失败该号码为公安涉案号码)

    入网资格校验失败是什么意思(入网资格校验失败该号码为公安涉案号码)

  • 别人抖音视频为什么不能下载(别人抖音视频为什么保存不了)

    别人抖音视频为什么不能下载(别人抖音视频为什么保存不了)

  • 美版有锁可以升级系统吗(美版有锁升级ios16)

    美版有锁可以升级系统吗(美版有锁升级ios16)

  • 图片动画效果怎么设置(图片动画效果怎么过度到下一页)

    图片动画效果怎么设置(图片动画效果怎么过度到下一页)

  • oppo手机怎么关机啊(oppo手机怎么关闭锁屏杂志)

    oppo手机怎么关机啊(oppo手机怎么关闭锁屏杂志)

  • word2010有几个视图方式(word2010有哪几种视图方式)

    word2010有几个视图方式(word2010有哪几种视图方式)

  • 华为怎么修改时间日期(华为怎么修改时间样式)

    华为怎么修改时间日期(华为怎么修改时间样式)

  • 抖音用护推荐关注是啥意思(抖音上推荐关注怎么关闭)

    抖音用护推荐关注是啥意思(抖音上推荐关注怎么关闭)

  • 美版ipad和国版有什么区别(美版ipad和国行区别)

    美版ipad和国版有什么区别(美版ipad和国行区别)

  • 快手收藏的视频怎么上传(快手收藏的视频为什么没有了)

    快手收藏的视频怎么上传(快手收藏的视频为什么没有了)

  • oppo微信照片存储位置(oppo微信保存图片不在相册怎么办)

    oppo微信照片存储位置(oppo微信保存图片不在相册怎么办)

  • 抖音怎么加字(抖音怎么加字幕和配音)

    抖音怎么加字(抖音怎么加字幕和配音)

  • win10网卡驱动异常怎么修复(win10网卡驱动程序不正常)

    win10网卡驱动异常怎么修复(win10网卡驱动程序不正常)

  • 索尼VAIO笔记本电脑开机进入BIOS的方法(F2)(索尼vaio笔记本看型号)

    索尼VAIO笔记本电脑开机进入BIOS的方法(F2)(索尼vaio笔记本看型号)

  • 个人出租住房需要缴纳哪些税
  • 增值税专用发票丢失了要怎么处理
  • 为什么要去银行打对账单
  • 劳务公司收到劳务费怎么做账
  • 开的税票必须过期怎么办
  • 工程招标费计入什么科目
  • 增值税纳税申报表在哪里打印
  • 固定资产一次性折旧的账务处理和税务处理
  • 企业收到政府补助要交税吗
  • 银行客户专用回单分录
  • 咨询服务费记到什么科目
  • 非金融机构定义
  • 报表中利润为什么税后比税前大?
  • 个人开增值税普票有没有限额
  • 多认证的增值税怎么处理
  • 电话宽带是什么意思
  • 税务行业软件
  • 个税按月算和按年算为什么不一样
  • 学校的房子归哪里管
  • 公司委托公司收款合法吗
  • 对外捐赠视同销售分录
  • 如何检验发票真伪
  • 限售股转让所得
  • 企业短期投资的计划和管理过程叫做资本预算
  • 转让土地使用权交什么税
  • 使用u盘安装windows11步骤
  • 注册会计师考试成绩查询2023
  • PHP:oci_password_change()的用法_Oracle函数
  • 筹建期间费用如何记账
  • PHP:Memcached::getServerByKey()的用法_Memcached类
  • php数组函数输出《咏雪》里有多少"片"字
  • 企业所得税的纳税人包括哪些
  • 年末结转利润分配账户的借方余额表示
  • 设置php扩展路径
  • 前端vue面试题2020
  • 应纳所得税额等于利润总额减去差异
  • 税费减免政策2020
  • 租车发票可以抵扣吗
  • 研发费用资本化计入什么科目
  • dict.setdefault()在python中设置默认值
  • java中public修饰什么
  • 抵扣联怎么抵扣使用
  • 甲供材入账
  • 固定资产管理台账
  • 小规模收入账务
  • 税前利润是否等于利润总额
  • 资产减值损失会计科目编码
  • 销售货物的收入计入什么科目
  • 公司充话费
  • 残保金逾期申报了补报会有罚款和滞纳金吗?
  • 支付宝支付高速通行费如何开发票
  • 企业因固定资产破产
  • 会议接待纸笔摆放
  • 暂估入账后续处理
  • sql注入讲解
  • sql操作方法
  • sql server中的权限包括哪三种类型
  • Sqlserver timestamp数据类使用介绍
  • Windows Server 2016技术预览版第四版系统截图曝光 编号10565
  • centos7如何设置中文
  • centos6.2安装教程
  • ghost重装步骤
  • debian启用ssh
  • 清理macbook清除系统垃圾
  • mac 阿里旺旺怎么使用
  • win10粘滞键怎么解除
  • js中不用var声明
  • nodejs connect
  • cygwin下载教程
  • easyui表格
  • js最简单的代码
  • shell脚本语句
  • python爬虫代理ip巨量http 代理8元/日
  • jquery遍历表单元素
  • CameraViewControl 摄像机 绕 物体
  • JavaScript html5 canvas画布中删除一个块区域的方法
  • javascript中this的用法
  • jquery获取php变量
  • 12123罚款滞纳金不能交嘛
  • 安徽省国家税务局网上办税平台
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设