位置: 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?(怎样才能做好一个好的销售)

  • 纵观中国营销20年,我心中的四位中国营销「大神」(纵观中国营销200字)

    纵观中国营销20年,我心中的四位中国营销「大神」(纵观中国营销200字)

  • 插件不受支持怎么解决(电脑显示插件不受支持)

    插件不受支持怎么解决(电脑显示插件不受支持)

  • 手机qq特别关心提示音怎么关(手机qq特别关心查询)

    手机qq特别关心提示音怎么关(手机qq特别关心查询)

  • wallpaper每次启动都要更新(wallpaper每次启动都要下载)

    wallpaper每次启动都要更新(wallpaper每次启动都要下载)

  • 华为手机怎么在手机锁屏上添加文字(华为手机怎么在屏幕上显示步数)

    华为手机怎么在手机锁屏上添加文字(华为手机怎么在屏幕上显示步数)

  • 过期的红包能看金额吗(过期的红包能看出来多少钱吗)

    过期的红包能看金额吗(过期的红包能看出来多少钱吗)

  • 电信卡服务密码初始密码是什么(电信卡服务密码忘了怎么查询)

    电信卡服务密码初始密码是什么(电信卡服务密码忘了怎么查询)

  • 苹果手机充电不显示闪电标志(苹果手机充电不显示充电图标)

    苹果手机充电不显示闪电标志(苹果手机充电不显示充电图标)

  • 快手名字前面的数字是什么(快手名字前面的三角形标志是什么意思)

    快手名字前面的数字是什么(快手名字前面的三角形标志是什么意思)

  • 以太网和局域网的区别(以太网和局域网的关系)

    以太网和局域网的区别(以太网和局域网的关系)

  • windows是应用软件吗(WINDOWS是应用软件吗)

    windows是应用软件吗(WINDOWS是应用软件吗)

  • oppor9st是什么型号(oppor9s是什么手机)

    oppor9st是什么型号(oppor9s是什么手机)

  • 手机更换微信如何转移(手机更换微信如何登陆)

    手机更换微信如何转移(手机更换微信如何登陆)

  • iphone11Pro水平仪在哪(iphone水平仪准不准)

    iphone11Pro水平仪在哪(iphone水平仪准不准)

  • 话题圈在哪里进入(话题圈app下载)

    话题圈在哪里进入(话题圈app下载)

  • 超级家长调时间有用吗(超级家长可以延长游戏时间吗)

    超级家长调时间有用吗(超级家长可以延长游戏时间吗)

  • 平板电脑怎么用(平板电脑怎么用键盘玩和平精英)

    平板电脑怎么用(平板电脑怎么用键盘玩和平精英)

  • 美团如何开通会员(美团开会员在哪里开)

    美团如何开通会员(美团开会员在哪里开)

  • CSS响应式布局(自适应布局)(css响应式布局插件)

    CSS响应式布局(自适应布局)(css响应式布局插件)

  • AI眼中的世界 ——人工智能绘画入门(关于眼中的世界的作文)

    AI眼中的世界 ——人工智能绘画入门(关于眼中的世界的作文)

  • apt-key命令  管理APT软件包密钥信息(apt-key is deprecated)

    apt-key命令 管理APT软件包密钥信息(apt-key is deprecated)

  • lvextend命令  扩展逻辑卷设备(lvs命令)

    lvextend命令 扩展逻辑卷设备(lvs命令)

  • 小规模纳税开专票享受季度30万纳税
  • 房开企业预售阶段预交的税费
  • 差旅费包括哪些费用
  • 固定资产报废如何做账务处理
  • 工会经费和职工教育经费比例
  • 运保佣是什么
  • 收到对方的银行汇票算什么凭证
  • 公司交增值税的好处
  • 公司购买的冰箱供员工使用
  • 购买软件的增值税可以抵扣吗
  • 企业所得税收入是什么意思
  • 个税手续费返还计入哪个科目
  • 营业执照号码含义
  • 小规模纳税人出售使用过的汽车
  • 转让股权凭证怎么写
  • 会计师事务所执业许可和监督管理办法
  • 公司注销其他应收款怎么冲平
  • 应交税费已交税金借方有余额
  • 企业内部领用产品会计处理
  • 业务招待费例子
  • ubuntu18.04中文
  • 事业单位会计凭证收入怎么记账
  • 补缴社保公积金
  • win10平板模式不好用
  • PHP:Memcached::getDelayed()的用法_Memcached类
  • 税务登记后每个月交什么钱
  • 企业支付宝收到钱到哪里
  • php对接微信支付教程
  • php语言设计模式之单例模式
  • linux递归创建目录命令
  • 债券溢价或折价是公司发行债券时产生的收益或损失
  • php文件怎么写
  • php加减
  • 长期待摊费用的摊销方法
  • open开放的意思吗
  • css盒子模型怎么做
  • Python Module — OpenAI ChatGPT API
  • 原材料用于在建工程增值税如何处理
  • 个人所得税手续费收入如何做账
  • 固定资产入账是税前还是税后
  • dedecms v6
  • 电子发票的缺点
  • 银行存款对账方法
  • 个人所得税的征税范围
  • 哪些进项税不允许从销项税额中抵扣
  • php怎么连接sqlserver
  • 加计扣除的增值税怎么做账
  • 保险合同包含什么
  • 贸易公司开发票进项跟销项不符合怎么办?
  • 丁字账户例题及解析
  • 扫描仪有危害吗
  • 工会账户收到经费的会计科目
  • 建筑材料资源税
  • 供应合同转让协议
  • 企业哪些项目可以立项
  • 非税收入专用票据包括什么
  • 现金日记账的登记证据有
  • 工商联络注册
  • 会计账簿的作用之一是编报和输出会计信息
  • mysql双主复制
  • 绿色安装包怎么卸载
  • windows7创建虚拟桌面
  • 电脑打开win
  • win10预览版21277
  • 邻居家的wifi隐藏后如何连接
  • win10打开或关闭
  • linux系统叫啥
  • explorer.exe进程文件
  • 防止linux断电系统崩溃
  • win8怎么打开蓝牙设置
  • 怎么更改电脑键盘语言
  • 设置全局
  • perl中use的用法
  • python 源码解析
  • python魔法方法有啥用
  • 民办非企业单位登记管理暂行条例
  • 怎么查行业代码是多少
  • 单位自有住房免增值税吗
  • 开具红字增值税专用发票通知单
  • "贴现"是什么业务,都涉及哪些费用?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设