位置: 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怎么设置学校)

  • 手机上课怎么投屏到电视上(手机上课怎么投屏到小度上)

    手机上课怎么投屏到电视上(手机上课怎么投屏到小度上)

  • 删除是ctrl加什么(删除怎么用ctrl)

    删除是ctrl加什么(删除怎么用ctrl)

  • 笑联app安装后闪退(笑联安卓下载)

    笑联app安装后闪退(笑联安卓下载)

  • 下载完文件夹怎么安装?(下载完文件夹怎么找回)

    下载完文件夹怎么安装?(下载完文件夹怎么找回)

  • 腾讯会议的扬声器是什么(腾讯会议的扬声器怎么关)

    腾讯会议的扬声器是什么(腾讯会议的扬声器怎么关)

  • 斗鱼直播需要什么条件(斗鱼直播需要什么配置)

    斗鱼直播需要什么条件(斗鱼直播需要什么配置)

  • 红米手机黑屏开不了机(红米手机黑屏开不了机充电有呼吸灯)

    红米手机黑屏开不了机(红米手机黑屏开不了机充电有呼吸灯)

  • 宽带和带宽有什么区别(宽带和带宽有什么联系)

    宽带和带宽有什么区别(宽带和带宽有什么联系)

  • 苹果官网退货签收验货要多久(苹果官网退货签收了,订单状态怎么没更新)

    苹果官网退货签收验货要多久(苹果官网退货签收了,订单状态怎么没更新)

  • 陌陌加好友多久可以视频(陌陌加好友多久才能打电话)

    陌陌加好友多久可以视频(陌陌加好友多久才能打电话)

  • 什么叫悬浮窗(什么叫悬浮窗(附图))

    什么叫悬浮窗(什么叫悬浮窗(附图))

  • 腾讯wadl文件是干什么的(腾讯文件官方版)

    腾讯wadl文件是干什么的(腾讯文件官方版)

  • mate30pro是ufs3.0吗(mate30pro ufs3.0)

    mate30pro是ufs3.0吗(mate30pro ufs3.0)

  • iphone11时间怎么设置24小时(iphone11时间怎么设置24小时制)

    iphone11时间怎么设置24小时(iphone11时间怎么设置24小时制)

  • 酷狗音乐酷币在哪里看(酷狗音乐狗币)

    酷狗音乐酷币在哪里看(酷狗音乐狗币)

  • 抖音视频怎么删(抖音视频怎么删掉)

    抖音视频怎么删(抖音视频怎么删掉)

  • 苹果xsmax怎样通话录音

    苹果xsmax怎样通话录音

  • 金税盘电子发票导出(金税盘电子发票章怎么生成)

    金税盘电子发票导出(金税盘电子发票章怎么生成)

  • 不知道就OUT了!Linux桌面领域7大趋势(不知道哟)

    不知道就OUT了!Linux桌面领域7大趋势(不知道哟)

  • 一点就分享系列(理解篇5)Meta 出品 Segment Anything 4月6号版核心极速解读——主打一个”Zero shot“是贡献和辅助,CV依然在!(一点分享案例)

    一点就分享系列(理解篇5)Meta 出品 Segment Anything 4月6号版核心极速解读——主打一个”Zero shot“是贡献和辅助,CV依然在!(一点分享案例)

  • 三代税款手续费退费申请
  • 总分公司报税有哪些注意事项
  • 什么是进项税额转出
  • 为什么增值税不计入营业税金及附加
  • 房屋契税缴纳比例
  • 物流辅助服务属于什么费用
  • 残保金滞纳金可以税前扣除吗
  • 出口货物发生退运是征税还是免税
  • 库存商品属于资产类会计科目吗
  • 本期进项税大于销项税
  • 成立小规模纳税人注册资金多少
  • 收到失控发票写情况说明
  • 附加税减免税会计处理怎么做?
  • 上年的应收帐款在本年度如何录入?
  • 核定征收是每个月都要交税吗
  • 土地价值是否计入GDP
  • 净现值为什么要除以它的折现率
  • 查账征收企业所得税申报表怎么填
  • 税控盘280减免代码
  • 我国个人取得的各种所得有几种类型
  • 同期比较百分比如何计算
  • 一般纳税人减免的增值税怎么记账
  • 去银行打回单需要带身份证吗
  • 股东退股会计科目
  • 长期股权投资减值的判断依据
  • 企业有哪些项目名称
  • 项目结束,财务应该怎么做
  • 华为鸿蒙双击背面打开健康码
  • 欧拉操作系统和龙蜥哪个好用
  • win7系统怎么重装win10系统
  • PHP:session_destroy()的用法_Session函数
  • SCHDPL32.EXE - SCHDPL32是什么进程 有什么用
  • 百香果的功效与作用及食用方法果的籽能嚼碎吃吗?
  • thinkphp5依赖注入
  • 原生js实现promise
  • 活动策划印花税选哪个税种
  • 20年电赛c题
  • win11安卓子系统教程
  • php导出表格
  • html写php
  • 破解版微擎框架如何升级
  • 小型微利企业符合条件的有
  • python elasticsearch timeout
  • dedecms安装及配置
  • 编制利润表计算公式
  • 中小型企业营业额和从业人数
  • 可供出售金融资产的会计处理
  • 生产车间为生产产品
  • 债务重组损失计入什么科目2020
  • 企业年金个税怎么计算
  • 支付宝已经支付快递费怎么还支付
  • 股权转让印花税减半征收政策
  • 结转库存商品需要附件吗
  • 残疾人就业保障金怎么申报
  • 制造企业费用会计
  • 建筑企业合理避税
  • 库存现金期末余额在哪方
  • 没有销售收入月报怎么填
  • 转账凭证的编制流程
  • mysql数据库随机取数据
  • windows 10预览版
  • 轻松玩转职场职场沟通与写作技巧答案
  • dropbox app
  • oracle sql mysql
  • angularjs4
  • js浅拷贝的方法
  • nodejs oom
  • angular子组件调用父组件的方法
  • 简单的横向棱纹魔杖
  • 八大排序算法的时间空间复杂度
  • android 加载更多
  • jQuery中通过ajax的get()函数读取页面的方法
  • unity的shader在哪儿
  • 重写runnable
  • jQuery模拟select实现下拉菜单功能
  • 全面解析少女时代关系
  • 支付给境外的特许权使用费
  • 沈阳市税务局最新公告
  • 对税务工作者的赞美
  • 威海行风热线实时收听
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设