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

  • 自媒体怎样看待粉丝经济,决定了其到底能走多远(看待自媒体的观念有误的是)

    自媒体怎样看待粉丝经济,决定了其到底能走多远(看待自媒体的观念有误的是)

  • 美团怎么查删除的历史订单(美团怎么查删除的历史订单,回收站也没有)

    美团怎么查删除的历史订单(美团怎么查删除的历史订单,回收站也没有)

  • 小红书可以看直播回放吗(小红书可以看直播历史记录吗)

    小红书可以看直播回放吗(小红书可以看直播历史记录吗)

  • 如何恢复微信支付通知(如何恢复微信支付功能设置)

    如何恢复微信支付通知(如何恢复微信支付功能设置)

  • 3dmax找不到vray渲染器(3dmax2020找不到vray渲染器)

    3dmax找不到vray渲染器(3dmax2020找不到vray渲染器)

  • 微信警告处理什么意思(微信警告处理什么后果)

    微信警告处理什么意思(微信警告处理什么后果)

  • 华为荣耀20pro手机照片怎么合成一张照片(华为荣耀20pro手机怎么开空调)

    华为荣耀20pro手机照片怎么合成一张照片(华为荣耀20pro手机怎么开空调)

  • 微信传输助手会泄密吗(微信传输助手会泄密吗?怎么才能安全)

    微信传输助手会泄密吗(微信传输助手会泄密吗?怎么才能安全)

  • 腾讯会议中途离开有记录吗(腾讯会议中途离开主持人会知道是谁吗)

    腾讯会议中途离开有记录吗(腾讯会议中途离开主持人会知道是谁吗)

  • 如何恢复淘宝浏览足迹(怎么恢复淘宝浏览记录)

    如何恢复淘宝浏览足迹(怎么恢复淘宝浏览记录)

  • 看qq精选照片有记录吗(qq精选照片有记录吗)

    看qq精选照片有记录吗(qq精选照片有记录吗)

  • 抖音号封禁后手机号怎么办(抖音号封禁后手机怎么办)

    抖音号封禁后手机号怎么办(抖音号封禁后手机怎么办)

  • 如何挂失电话号码(如何挂失电话号码电信)

    如何挂失电话号码(如何挂失电话号码电信)

  • 华为智慧屏可以k歌吗(华为智慧屏可以玩ps5吗)

    华为智慧屏可以k歌吗(华为智慧屏可以玩ps5吗)

  • iphone8plus机身多少寸(iphone8plus机身尺寸多少厘米)

    iphone8plus机身多少寸(iphone8plus机身尺寸多少厘米)

  • word2010有哪几种视图方式(word2010文档的类型有哪些)

    word2010有哪几种视图方式(word2010文档的类型有哪些)

  • 小米手机屏幕脱胶可以修吗(小米手机屏幕脱胶怎么办)

    小米手机屏幕脱胶可以修吗(小米手机屏幕脱胶怎么办)

  • vue怎么把视频放大(vue怎么把视频放大或者缩小)

    vue怎么把视频放大(vue怎么把视频放大或者缩小)

  • 手机内屏坏了还能用吗(手机内屏坏了还能用多久)

    手机内屏坏了还能用吗(手机内屏坏了还能用多久)

  • 荣耀20怎么看后台运行(荣耀20怎么查看手机型号)

    荣耀20怎么看后台运行(荣耀20怎么查看手机型号)

  • wps怎么画直线(wps怎么画直线箭头不歪)

    wps怎么画直线(wps怎么画直线箭头不歪)

  • 微信能定位找人吗(微信能定位找人吗不让对方知道)

    微信能定位找人吗(微信能定位找人吗不让对方知道)

  • mlaul00是什么型号(mlaal00是什么型号)

    mlaul00是什么型号(mlaal00是什么型号)

  • Win10切换竖状的音量控制(win10设置变成竖排)

    Win10切换竖状的音量控制(win10设置变成竖排)

  • OpenAI 官方api 阅读笔记(openapi官网)

    OpenAI 官方api 阅读笔记(openapi官网)

  • 帝国CMS怎么获取浏览记录(帝国cms获取当日发布的url链接)

    帝国CMS怎么获取浏览记录(帝国cms获取当日发布的url链接)

  • 个人所得税纳税记录
  • 个人独资企业是否享受六税两费政策
  • 不能抵扣的增值税进项税额是什么
  • 本月未记账凭证是什么意思
  • 广告制作要交文化部门吗
  • 改革性补贴是否属于规范的津贴补贴
  • 没进项发票的开销项发票多少税?
  • 增值税延期滞纳金是多少
  • 应付债券利息调整是什么意思
  • 非利息净收入包括营业外收入吗
  • 受托加工怎么做账
  • 增值税当月抵扣吗
  • 未实缴出资的股东退股
  • 企业票据贴现属于什么业务
  • 个人购买车辆的发票可以贷款吗
  • 开票系统维护费计入什么科目
  • 员工借款从工资扣除如何个税
  • 电话费发票可以重新开吗
  • 营改增行业注释
  • 三万以下免税如何开票
  • 普通发票汇总上传
  • 赠送样品需要交税吗
  • 充值销售技巧和话术总结
  • 普票需要缴纳印花税吗
  • 电子税务局首次申请专票
  • 环评费用计入哪个会计科目
  • 财务报表第一季度引用的期初数是第四季度还是年报
  • 单位自办食堂为单位职工提供餐饮服务要交增值税吗
  • win10更新补丁怎么关闭
  • 联想笔记本bios密码忘记了怎么清除
  • 网络适配器感叹号代码43
  • 工程公司更换单位怎么办
  • 费用发票开的是跨年的账务处理?
  • 支付挂靠方的管理费用有进项吗?
  • php imagettftext
  • 公司修好厂房老板怎么说
  • 增值税专票如何查询对方是否抵扣
  • 交易性金融资产属于什么科目
  • php mysql_list_dbs()函数用法示例
  • 车辆购置税发票图片
  • flex的作用及设置
  • ci框架过时了吗
  • linux查询ifconfig和cd命令的完整文件名
  • 人力资源管理公务员岗位
  • 结算备付金管理办法(2019年修订版)
  • 运输发票税金如何入账
  • 季节性停工计入当期损益吗
  • wordpress批量生成文章
  • phpcms rce
  • mongodb主从复制原理
  • phpcms使用教程
  • sql2008还原到2012
  • sqlserver数据库中进行查询所使用的语言为
  • 公对公打款发票
  • 企业选择的短期调整
  • 应付账款暂估会计处理
  • 发票红冲重开是退个税吗
  • 公司需要现金
  • 递延收益影响当期所得税吗为什么
  • 金蝶多核算项目怎么查一个项目下的其他项目
  • 营业成本包括三大费用如何称呼
  • 产权转移书据纳税义务时间
  • mysql的用处
  • 上网本安装win7
  • wps.exe是什么
  • Win10系统安装包
  • linux系统中scp命令的使用介绍
  • win10飞行模式开关是灰色的
  • 安装音乐库
  • win8文件夹打不开
  • Android OnTouchEvent, onClick, onLongClick调用机制
  • android布局文件放在哪
  • javascript 性能
  • 税务工作秘密管理暂行办法
  • 工会经费网上怎么申报
  • 全电发票
  • 如何推进税务系统建设
  • 企业填写莞e申报的通知
  • 交强险和车船税网上购买
  • 代理记账费用可以全额抵扣吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设