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

  • 如何通过SEO实现互联网推广霸屏?

    如何通过SEO实现互联网推广霸屏?

  • airpods耳机丢了怎么找(airpods耳机丢了一只怎么找)

    airpods耳机丢了怎么找(airpods耳机丢了一只怎么找)

  • 怎么隐藏淘宝订单不让别人看见(怎么隐藏淘宝订单记录)

    怎么隐藏淘宝订单不让别人看见(怎么隐藏淘宝订单记录)

  • 怎么查看播客声音下载的位置(播客在哪里听)

    怎么查看播客声音下载的位置(播客在哪里听)

  • 华为mpencil二代笔怎么充电(华为mpencil二代怎么看电量)

    华为mpencil二代笔怎么充电(华为mpencil二代怎么看电量)

  • 红米k30s至尊纪念版用的是高通的处理器吗(红米k30s至尊纪念版参数)

    红米k30s至尊纪念版用的是高通的处理器吗(红米k30s至尊纪念版参数)

  • 苹果7主屏按钮无触感怎么办(苹果7主屏按钮怎么设置)

    苹果7主屏按钮无触感怎么办(苹果7主屏按钮怎么设置)

  • 电脑连接打印机找不到打印机型号怎么办(电脑连接打印机步骤图)

    电脑连接打印机找不到打印机型号怎么办(电脑连接打印机步骤图)

  • power是什么功能?(powers是什么意思)

    power是什么功能?(powers是什么意思)

  • no print cartridge是什么意思

    no print cartridge是什么意思

  • 云备份删除有什么影响(云备份删除了会影响手机数据吗)

    云备份删除有什么影响(云备份删除了会影响手机数据吗)

  • 微信下载的视频在哪里(微信下载的视频文件存在手机什么位置)

    微信下载的视频在哪里(微信下载的视频文件存在手机什么位置)

  • 强提醒可以一直开着吗(强提醒会怎么样)

    强提醒可以一直开着吗(强提醒会怎么样)

  • 指纹锁打不开了要怎样才能打开(指纹锁打不开了怎么办解锁)

    指纹锁打不开了要怎样才能打开(指纹锁打不开了怎么办解锁)

  • 咋样在朋友圈发照片(咋样在朋友圈发招聘文案)

    咋样在朋友圈发照片(咋样在朋友圈发招聘文案)

  • 管理员怎么禁言(管理员怎么禁言别人)

    管理员怎么禁言(管理员怎么禁言别人)

  • wifi是2.4g网络是什么意思(wifi是2.4g吗)

    wifi是2.4g网络是什么意思(wifi是2.4g吗)

  • 华为荣耀20nfc怎么复制门禁卡(华为荣耀20nfc怎么读取公交卡)

    华为荣耀20nfc怎么复制门禁卡(华为荣耀20nfc怎么读取公交卡)

  • 微信浮窗怎么关闭(小米手机微信浮窗怎么关)

    微信浮窗怎么关闭(小米手机微信浮窗怎么关)

  • 微信公众号怎么注册(微信公众号怎么发布作品)

    微信公众号怎么注册(微信公众号怎么发布作品)

  • 滴滴未成年人怎么叫车(滴滴未成年乘车)

    滴滴未成年人怎么叫车(滴滴未成年乘车)

  • 小度在家699和299区别(小度在家系列哪个好)

    小度在家699和299区别(小度在家系列哪个好)

  • 苹果xr能无线充电吗(iphone xr能否无线充电)

    苹果xr能无线充电吗(iphone xr能否无线充电)

  • ubuntu18.04安装cuda和cudnn(Ubuntu18.04安装cuda10.2)

    ubuntu18.04安装cuda和cudnn(Ubuntu18.04安装cuda10.2)

  • 非独立核算的分公司可以开票吗
  • 电费发票隔月开如何做账
  • 新公司和旧公司对比
  • 已认证的专票可以取消认证吗
  • 防疫物资采购计入什么费用
  • 企业所得税弥补亏损明细表怎么填写
  • 个税漏申报了一个月在哪里申报
  • 利润表第二季度本期金额填4-6月还是1-6月数
  • 费用挂账的会计分录怎么做
  • 企业物流成本会计核算问题研究
  • 车辆商业险和交强险可以分开买吗
  • 发票冲红后原发票还有用吗?
  • 个人承包经营所得是什么意思
  • 房屋租赁发票是什么意思
  • 国税局可以开增值税专用发票吗
  • 季度开票超过9万个人所得税
  • 个人营业税是什么意思
  • 会务费抵扣限额
  • 债务利息税前列支什么意思
  • 发工资时忘记扣个税了怎么做账
  • 库存商品无发票所得税怎么调增
  • 接受捐赠物品的增值税
  • 企业税计算方法
  • 电脑卡机动不了怎么重启
  • macOS Big Sur 11.2.1 修订版更新发布
  • 现在学修电脑怎么样
  • 在windows操作
  • 企业如何减少税收
  • 个人所得税申报流程图
  • h5跳转h5
  • codelite怎么进行编译
  • 商住房买卖过户流程
  • php连接mysql8.0
  • 优胜美地国家公园简介
  • 报废车怎么走流程
  • thinkphp框架入门
  • 合伙企业利润分配首要依据
  • yarn安装路径
  • python雪花算法生成id
  • 附加税多交了怎么办理退税
  • web防盗链
  • axios请求数据的数据类型
  • 进项税额转出怎么做账务处理
  • 决算清理期和库款报解整理期
  • 怎么填专项扣除
  • 取得企业债券利息
  • 公司买汽车计入什么费用
  • 房企预缴增值税
  • 当月纳税申报期是什么意思
  • 汇算清缴补缴所得税摘要怎么写的
  • mysql数据库性能监控
  • 年报中的资产总额怎么计算
  • 购买办公用品属于什么凭证类型
  • 超市买太多东西怎么拿走
  • 企业其他应付款减少说明什么
  • 临时售楼部招牌效果图
  • 超市小票能作为证据用吗
  • 资本公积可用于弥补企业亏损
  • case在sql中
  • sql实现分组查询的短语
  • mysql求两个字段的和
  • 如何进行节约
  • windows xp安装win32程序
  • 怎样设置禁
  • WIN10系统更新之后无法启动
  • 在linux中,要解包bugzilla.tar.gz
  • 在win7操作系统中通过什么可以查看计算机的配置
  • win8系统怎么取消屏保
  • centos中netspeeder网络加速/优化器的安装方法
  • mom.exe是什么程序
  • win8.1玩游戏卡
  • win7电脑弹窗多怎么解决
  • python金融大数据 全流程详解
  • android edittext被系统键盘遮挡
  • vue devtools功能
  • JavaScript fontsize方法入门实例(按照指定的尺寸来显示字符串)
  • JavaScript性能优化
  • 组织生活会有民族评议党员大会会后报告
  • 陕西省国家税务总局电子税务局
  • 车辆购置税申报车辆登记地怎么填
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设