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

  • gta6手机版(gta6)(gta6手机版下)

    gta6手机版(gta6)(gta6手机版下)

  • enscape怎么加光源(enscape3.1怎么加光源)

    enscape怎么加光源(enscape3.1怎么加光源)

  • 苹果5g怎么切换 (5g怎么切换4g苹果手机)

    苹果5g怎么切换 (5g怎么切换4g苹果手机)

  • 美团支付设置在哪里找(美团app支付设置)

    美团支付设置在哪里找(美团app支付设置)

  • office激活和不激活有什么区别(office激活和不激活怎么查看)

    office激活和不激活有什么区别(office激活和不激活怎么查看)

  • 小米10至尊纪念版使用的是什么处理器(小米10至尊纪念版和小米10s哪个好)

    小米10至尊纪念版使用的是什么处理器(小米10至尊纪念版和小米10s哪个好)

  • 微信服务电话人工服务是多少(微信服务电话人工服务上班时间)

    微信服务电话人工服务是多少(微信服务电话人工服务上班时间)

  • qq好友恢复系统三年内(qq好友恢复系统登录入口)

    qq好友恢复系统三年内(qq好友恢复系统登录入口)

  • 电脑只有两个盘怎么加(电脑只有两个盘不够用)

    电脑只有两个盘怎么加(电脑只有两个盘不够用)

  • 微博停止运行什么原因(微博停运怎么回事)

    微博停止运行什么原因(微博停运怎么回事)

  • 苹果8plus能插几张卡(苹果8plus插几张卡)

    苹果8plus能插几张卡(苹果8plus插几张卡)

  • 爱奇艺超前点播电脑看不了(爱奇艺超前点播事件案例分析)

    爱奇艺超前点播电脑看不了(爱奇艺超前点播事件案例分析)

  • 钉钉撤回信息时间多久(钉钉撤回时间少的话怎么办?)

    钉钉撤回信息时间多久(钉钉撤回时间少的话怎么办?)

  • 淘宝号为什么要实名认证呢(淘宝号为什么要重新注册)

    淘宝号为什么要实名认证呢(淘宝号为什么要重新注册)

  • ps怎么把字竖着写(ps怎么把字弄成竖排)

    ps怎么把字竖着写(ps怎么把字弄成竖排)

  • 华为p20pro是什么处理器(华为p20pro是什么时候出的)

    华为p20pro是什么处理器(华为p20pro是什么时候出的)

  • word2003怎么做稿纸(word文档怎么做文稿纸)

    word2003怎么做稿纸(word文档怎么做文稿纸)

  • 手机出现fastboot怎么办(手机出现fastboot会坏吗)

    手机出现fastboot怎么办(手机出现fastboot会坏吗)

  • ios13支持3d touch吗(ios13支持哪几款机型)

    ios13支持3d touch吗(ios13支持哪几款机型)

  • led灯坏了怎么换(客厅led灯坏了怎么换)

    led灯坏了怎么换(客厅led灯坏了怎么换)

  • iphonexsmax支持多少快充(iphonexsmax支持多少瓦无线充电)

    iphonexsmax支持多少快充(iphonexsmax支持多少瓦无线充电)

  • 华为折叠手机何时上市(华为折叠手机ⅹ2)

    华为折叠手机何时上市(华为折叠手机ⅹ2)

  • 微信拉黑发消息对方能收到吗(微信拉黑发消息会显示什么)

    微信拉黑发消息对方能收到吗(微信拉黑发消息会显示什么)

  • 如何在win10系统上再安装win11系统 win11双系统安装步骤(如何在WIN10系统安装IE浏览器)

    如何在win10系统上再安装win11系统 win11双系统安装步骤(如何在WIN10系统安装IE浏览器)

  • 【JavaWeb】重新认识 Servlet 的初始化 [ 回顾 Servlet ](重置java)

    【JavaWeb】重新认识 Servlet 的初始化 [ 回顾 Servlet ](重置java)

  • 税收优惠退税会计处理
  • 天然气入户安装需要什么资质
  • 成品油跨月发票红字冲销步骤
  • 土地增值税税收优惠
  • 员工出差住宿费计入什么科目
  • 补交本年增值税计提
  • 咨询费发票怎么入账
  • 进口关税税率和增值税
  • 转给个人账户的钱可以追回来了吗?
  • 企业比赛奖品买什么好
  • 税务年报多少钱
  • 3%税率是一般纳税人还是小规模
  • 企业所得税退税的会计分录怎么做
  • 跨年度取得增值税发票能否抵扣?
  • windows伪装电脑mac
  • 给对方发短信显示imessage
  • 百货商场会计账怎么做
  • pc端微信怎么更新
  • windows无法验证此设备数字签名
  • 未分配利润可以用来干什么
  • msoobe.exe是什么
  • 企业设立的条件有哪些
  • node-gyp版本
  • 文件上传之后返回一个文件路径怎么设置
  • 购货折让会计分录
  • 建筑工程房屋租赁费属于什么费用
  • 发票多久过期不能开
  • php get_headers
  • php抓取
  • php 带cookie post
  • 微信支付开发文档教程
  • 微信支付开发包
  • vue3父子传值
  • php curlfile
  • 列表定义格式
  • unmount命令详解
  • 直接人工不包括哪些
  • 电子发票找不到了可以找回吗
  • 现金销售收入是什么意思
  • 商业承兑汇票在网银上怎么查询
  • 应收账款占比是什么
  • sqlserver2008连接
  • linux登录root用户登录
  • mysql无法添加数据
  • 公司户和个人户交强险一样吗
  • pos机刷卡未成功却扣了钱啥时候就退回来了
  • 烈士祭扫仪式
  • 简易征收需要勾选认证吗
  • 不动产进项税额抵扣从什么时候开始
  • 执行迟延履行利息的计算
  • 小规模纳税人购车是怎么抵税的
  • 房地产企业的会计核算
  • 事业单位职工福利费
  • 合同负债属于什么账户
  • 电子缴税付款凭证是什么结算方式
  • 房地产预交税金怎么算
  • 存货总账根据什么填列
  • 无形资产如何入股公司
  • sql注入修补方法
  • 类似wps office的手机软件
  • 2008r2多用户远程桌面
  • 系统技巧 制作流程
  • linux系统变卡慢了
  • centos简介
  • reald是什么格式
  • Win10应用程序无法正常启动0xc000007b
  • 网站出现问题怎么办
  • win7怎连蓝牙
  • cocos2d-x教程
  • c++11视频教程
  • unity画面效果润色
  • u盘备份系统操作步骤
  • oracle批处理语句
  • unity读取fbx文件
  • CSS3 media queries结合jQuery实现响应式导航
  • Android - DrawerLayout的使用
  • 四川省国税局
  • 县税务局可以去市里吗
  • 申报参保时间怎么填
  • 缴纳车辆购置税的会计处理
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设