位置: 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年幼儿园)

  • 山姆亲友免费卡可以进去吗(山姆亲友免费卡可以进几个人)

    山姆亲友免费卡可以进去吗(山姆亲友免费卡可以进几个人)

  • 如何更改qq密码(怎么设置qq密码)

    如何更改qq密码(怎么设置qq密码)

  • 微信为什么变成0位联系人了(微信为什么会变成听筒播放)

    微信为什么变成0位联系人了(微信为什么会变成听筒播放)

  • 手机为什么充不进电(手机为什么充不上电?怎么解决?vivo)

    手机为什么充不进电(手机为什么充不上电?怎么解决?vivo)

  • 苹果11pro max是什么基带(苹果11promax是什么芯片)

    苹果11pro max是什么基带(苹果11promax是什么芯片)

  • 手机qq背景是黑色怎么变成白色(手机qq背景黑色怎么恢复白色)

    手机qq背景是黑色怎么变成白色(手机qq背景黑色怎么恢复白色)

  • 全民k歌被对方拉黑怎么解除(全民K歌被对方拉黑了还能关注对方吗)

    全民k歌被对方拉黑怎么解除(全民K歌被对方拉黑了还能关注对方吗)

  • 移动wlan什么意思(移动wlan什么意思要收费吗)

    移动wlan什么意思(移动wlan什么意思要收费吗)

  • 苹果11用充电宝伤电池吗(苹果11用充电宝充电充到80%就断了)

    苹果11用充电宝伤电池吗(苹果11用充电宝充电充到80%就断了)

  • 华为用的什么系统(华为用的什么系统版本)

    华为用的什么系统(华为用的什么系统版本)

  • 第三代计算机采用的主要逻辑部件是(第三代计算机采用的逻辑元件是)

    第三代计算机采用的主要逻辑部件是(第三代计算机采用的逻辑元件是)

  • 华为畅享10s支持快充吗(华为畅享10可以用5g吗)

    华为畅享10s支持快充吗(华为畅享10可以用5g吗)

  • 段落填充颜色怎么设置(段落填充颜色怎么取消)

    段落填充颜色怎么设置(段落填充颜色怎么取消)

  • 200m宽带下载速度多少mbps(200m宽带下载速度应该是多少)

    200m宽带下载速度多少mbps(200m宽带下载速度应该是多少)

  • 快手联系电话怎么设置(快手联系电话怎么改)

    快手联系电话怎么设置(快手联系电话怎么改)

  • 更新ios13要多久(苹果13更新要多久)

    更新ios13要多久(苹果13更新要多久)

  • ppt图片效果在哪里设置(ppt图片效果在哪找)

    ppt图片效果在哪里设置(ppt图片效果在哪找)

  • 计算机网络都有哪些类别?各种类别的网络(计算机网络都有哪些类别及特点)

    计算机网络都有哪些类别?各种类别的网络(计算机网络都有哪些类别及特点)

  • 家长时空为什么收不到验证码(家长时空家长版app下载)

    家长时空为什么收不到验证码(家长时空家长版app下载)

  • 怎么制作视频带音乐带文字(怎么制作视频带音乐还能换背景图片)

    怎么制作视频带音乐带文字(怎么制作视频带音乐还能换背景图片)

  • 手机网络限速怎么解除(手机网络限速怎么办)

    手机网络限速怎么解除(手机网络限速怎么办)

  • 删除系统中的帐户(怎样删除电脑系统账户)

    删除系统中的帐户(怎样删除电脑系统账户)

  • 基本运算符(基本运算符号有乘方吗)

    基本运算符(基本运算符号有乘方吗)

  • 可以抵扣进项税额的增值税普通发票
  • 什么情况下一般纳税人可以简易征收
  • 取得的股息红利收入计入哪个科目
  • 不计入销售收入
  • 银行承兑汇票背书可以拆分
  • 销售发票红冲会计分录怎么做?
  • 企业促销应该采用什么方法
  • 接受捐赠的增值税计入利润总额吗
  • 固定资产期初余额在哪里录入
  • 服装厂委托物资零散加工成品如何做账呢?
  • 债券利息收入的增值税
  • 生育津贴个税汇算清缴可以扣除吗
  • 冲减留抵税额
  • 异地预缴增值税后本地还要交吗
  • 购入苗木的会计分录
  • 企业代扣员工社保怎样做分录
  • 变更股权需要资质证书吗
  • 以前年度费用如何列支
  • 房屋维修基金怎么申请使用
  • 付款交单和承兑交单对卖方来说都有一定风险
  • 在win7系统中文件属性有哪些
  • 硬盘安装系统方法
  • win7网络连接在哪里打开
  • php中的require
  • 跟银行借入长期存款
  • 君子兰的养殖方法
  • 非货币性资产交换
  • 房地产企业预缴增值税如何申报
  • PHP:imagecolorclosestalpha()的用法_GD库图像处理函数
  • Nginx-http-flv-module流媒体服务器搭建+模拟推流+flv.js在前端html和Vue中播放HTTP-FLV视频流
  • 删除数组中某个值的数
  • 股东以固定资产入股需要交税吗
  • php照片上传
  • vue和react区别大吗
  • wget下载yum
  • ps怎么用魔棒选区
  • 用友t6成本核算
  • 非货币性资产交换和债务重组的区别
  • 生产劳务成本会计分录
  • 小规模0申报要做账吗
  • php发邮件系统源码
  • 工资的计提基数
  • 劳动仲裁经济补偿金写多了
  • 单位收到社保补贴会计怎样处理
  • 估价入库怎么记账
  • 暂估入账会计科目
  • 社保申报工伤怎么操作
  • 收到促销服务费会计分录
  • 仓储费用分配率
  • 库存股算什么科目
  • 预收物业费预收什么意思
  • 新发票和旧发票的区别
  • 财付通交易手续费多少
  • 收到技术服务费计入什么科目
  • 独立法人资格是独立核算
  • 公司借款流程
  • 搜索功能使用方法
  • windows十桌面
  • centos创建lv
  • 电脑无法使用qq
  • win10系统怎么设置ip地址
  • macbook硬盘中的其他
  • 电脑桌面图标有虚影怎么回事
  • win7如何压缩图片
  • 什么时候用热毛巾敷眼睛最好
  • 屏幕适配android常用方法
  • html截取字符串
  • vue路由router
  • jquery点击切换背景颜色
  • 批处理文件
  • js正则 \w
  • shell脚本获取文件指定内容
  • jquery 获取父元素的子元素
  • js动态添加trtd
  • 变更税务局三方协议
  • 消费税抵扣范围包括哪些
  • 如何异地代缴社保
  • 特斯拉绿色牌照
  • 无经营公司
  • 申报农业项目的程序是什么?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设