vuex的几种方法和作用(vuex学习目标是什么教程)

技术vuex的核心概念和基本使用是怎么样的vuex的核心概念和基本使用是怎么样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。介绍Vuex是实现组件全局状态

vuex的核心概念和基本用途是什么?我相信很多没有经验的人都不知所措。为此,本文总结了问题产生的原因及解决方法。希望你能通过这篇文章解决这个问题。

介绍

Vuex是管理组件全局状态(数据)的机制,可以方便地实现组件间的数据共享。

00-1010

开始

安装

创建一个vuex.js文件,并将https://unpkg.com/vuex的内容放在这个文件夹中。

00-1010脚本src=' https://cdn.jsdelivr.net/NPM/es6-promise @ 4/dist/es6-promise . auto . js '/脚本

直接下载方式

npminstallvuex-save

CND方式

yarnaddvuex

NPM方式

从“vue”导入

importVuexfrom'vuex '

Vue.use(Vuex)

exportdefaultnewVuex。商店({ 0

state:{},

突变:{},

actions:{},

modules:{}

})2.在main.js中引入它,然后在Vue实例中挂载它。

从“vue”导入

importstorefrom ' '。/store '

newVue({ 0

render:h=h(App),

商店

}).$ mount ('# app')

Yarn方式

NPM方式安装的使用方式

是在组件之间共享数据。

只有突变才能修改存储中的数据。

使用:

使用前定义。

store概念及使用

state:{

num:0

}

概念:

方式1(推荐)

div{{numAlias}}/div

从“vuex”导入{ mapState }

exportdefault{

//计算功能

computed:mapState封装状态({ 0

//传递字符串参数“count”等于“state=state”。伯爵`。

NumAlias:'num ',//常用的密钥是自命名随机值接收的数据。

//箭头功能可以使代码更加简洁。

count:state=state.count,

//为了能够使用“this”来获取本地状态,必须使用general函数。

countPlusLocalState(state){ 0

returnstate . count this . local count

(=NationalBureauofStandards)国家标准局

p; }
    //可以定义其余的计算函数
  }),
  //或者这样
  //计算函数
  computed: {
    mapState(['count'])
  }
}

方式2

<div>{{ $store.state.count }}</div>

mutations概念及使用

概念:

修改store里的数据,严格规定不能在其余的地方修改store的数据,mutations里不要执行异步操作。

mutation 必须同步执行,不能异步执行。

使用:

先定义方法后使用

定义

mutations: {
	//increment自定义方法 store参数是store数据, parameter参数是接收到的数据,可不要
    increment (state, parameter) {
        // 变更状态
        state.num++
    }
}

使用

方式1(推荐使用)

import { mapState, mapMutations } from 'vuex'
//方法
methods: {
	...mapMutations([
	    // mutations自定义的方法名
    	'increment'
    ]),
    love() {
    	// 直接this调用 this.increment('需要传过去的数据,可不要')
        this.increment('Bin')
    }
}

方式2

methods: {
    love() {
    	// this.$store.commit('自定义的名称', '传过去的数据,可不传')
    	this.$store.commit('increment', 'data')
    }
}

action概念及使用

概念:

用于处理异步操作。

如果通过异步操作变更数据,必须通过action,而不能使用mutation,但是在action中还是要通过触发mutation的方式间接变更数据。

Action 类似于 mutation,不同在于:

  • Action 提交的是 mutation,而不是直接变更数据(状态)。

  • Action 可以包含任意异步操作。

定义

mutations: {
	//increment自定义方法 store参数是store数据, parameter参数是接收到的数据,可不要
    increment (state, parameter) {
        // 变更状态
        state.num++
    }
},
actions: {
	//add 自定义方法 context是参数,可以把它当作vuex的实例
    add(context) {
    	//可以通过context.commit('mutations中需要调用的方法')
    	context.commit('increment')
    }
}

使用

方式1(推荐)

import { mapState, mapMutations, mapActions } from 'vuex'
export default {
  methods: {
    ...mapActions([
      'add', // 将 `this.add()` 映射为 `this.$store.dispatch('add')`
      // `mapActions` 也支持载荷:
      'add' // 将 `this.add(amount)` 映射为 `this.$store.dispatch('add', amount)`
    ]),
    ...mapActions({
      add: 'add' // 将 `this.add()` 映射为 `this.$store.dispatch('increment')`
    }),
    love() {
    	// 直接this调用 this.add('需要传过去的数据,可不要')
    	this.add(data)
    }
  }
}

方式2

methods: {
    love() {
    	// this.$store.dispatch('自定义的名称', '传过去的数据,可不传')
    	this.$store.dispatch('add', data)
    }
}

getters概念及使用

概念:

getter用于对store中的数据进行加工处理形成新的数据。getting可以对store中已有的数据加工处理之后形成新的数据,类似Vue的计算缩写。

定义

state: {
  num: 0
},
getters: {
    doneTodos: state => {
    	return state.num = 10
    }
}

使用

方式1(推荐)

<div>{{ doneTodos }}</div>

import { mapState, mapMutations, mapActions, mapGetters } from 'vuex'
export default {
  //计算函数
  computed: {
  	...mapState(['count']),
  	...mapmapGetters(['doneTodos'])
  }
}

方式2

<div>{{ $store.getters.doneTodos }}</div>

看完上述内容,你们掌握vuex的核心概念和基本使用是怎么样的的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/147013.html

(0)

相关推荐

  • 如何使用Microsoft技术栈

    技术如何使用Microsoft技术栈这期内容当中小编将会给大家带来有关如何使用Microsoft技术栈,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Microsoft技术栈最近有大量的

    攻略 2021年11月2日
  • 火柴英文,火柴有哪几种,例如防水火

    技术火柴英文,火柴有哪几种,例如防水火日用火柴(普通火柴)日用火柴 按包装外形和所用原料有木梗火柴火柴英文、蜡纸梗火柴和书式火柴3种。①木梗火柴:用质地比较松软的木材制成方形截面的火柴梗,梗端沾上石蜡和药浆,干燥后装于木

    2021年10月26日
  • 如何使用dtb方式启动内核

    技术如何使用dtb方式启动内核这篇文章给大家介绍如何使用dtb方式启动内核,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。主要使用dtb方式启动LINUX内核的过程。采用DTB方式启动LINUX内核,

    攻略 2021年11月2日
  • 如何用MYSQL或者ORACLE的方法管理 POSTGRESQL

    技术如何用MYSQL或者ORACLE的方法管理 POSTGRESQL这期内容当中小编将会给大家带来有关如何用MYSQL或者ORACLE的方法管理 POSTGRESQL ,文章内容丰富且以专业的角度为大家分析和叙述,阅读

    攻略 2021年10月25日
  • 减数过程图手绘,3对染色体的减数分裂图怎么画

    技术减数过程图手绘,3对染色体的减数分裂图怎么画减数分裂的特征主要是同源染色体的分离减数过程图手绘,所以说需要画三对儿同源染色体,在减数第一次分裂画三对 同源染色体的变化。前期同源染色体联会,中期同源 染色体的排列在赤道

    生活 2021年10月28日
  • 怎么使用css3阴影box shadow

    技术怎么使用css3阴影box shadow本篇内容介绍了“怎么使用css3阴影box shadow”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大

    攻略 2021年11月12日