广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >vuex的核心概念和基本使用详解
  • 196
分享到

vuex的核心概念和基本使用详解

2024-04-02 19:04:59 196人浏览 薄情痞子
摘要

目录介绍开始安装 ①直接下载方式 ②CND方式③NPM方式④Yarn方式NPM方式安装的使用方式 store概念及使用概念:定义使用mutations概念及使用概念:使用:定义使用a

介绍

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

开始

安装

①直接下载方式

创建一个 vuex.js 文件 将https://unpkg.com/vuex这个网址里的内容放到该文件夹里。

②CND方式


<script src="Https://cdn.jsdelivr.net/npm/es6-promise@4/dist/es6-promise.auto.js"></script>

③NPM方式


npm install vuex --save

④Yarn方式


yarn add vuex

NPM方式安装的使用方式

1.在 scr 文件里创建一个 store / index.js 的文件夹,写入以下内容。


import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
export default new Vuex.Store({
state: {},
mutations: {},
actions: {},
modules: {}
})

2.在main.js 里引入,然后挂载到 Vue 实例里


import Vue from 'vue'
import store from './store'
new Vue({
  render: h => h(App),
  store
}).$mount('#app')

store概念及使用

概念:

就是组件之间共享数据的。

只有 mutations 才能修改 store 中的数据

使用:

先定义后使用

定义


state: {
  num: 0
}

使用

方式1(推荐)


<div>{{ numAlias }}</div>

import { mapState } from 'vuex'
export default {
  //计算函数
  computed: mapState({
    // 传字符串参数 'count' 等同于 `state => state.count`
    numAlias: 'num',//常用key是自己起的名随便 value接收的数据
    // 箭头函数可使代码更简练
    count: state => state.count,
    // 为了能够使用 `this` 获取局部状态,必须使用常规函数
    countPlusLocalState (state) {
      return state.count + this.localCount
    }
    //可以定义其余的计算函数
  }),
  //或者这样
  //计算函数
  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>

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!

--结束END--

本文标题: vuex的核心概念和基本使用详解

本文链接: https://www.lsjlt.com/news/159903.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vuex的核心概念和基本使用详解
    目录介绍开始安装 ①直接下载方式 ②CND方式③NPM方式④Yarn方式NPM方式安装的使用方式 store概念及使用概念:定义使用mutations概念及使用概念:使用:定义使用a...
    99+
    2022-11-12
  • vuex的核心概念和基本使用是怎么样的
    vuex的核心概念和基本使用是怎么样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。介绍Vuex是实现组件全局状态(数据)管理的一种机制,可以方便的实现组件之间的数据共享开始安...
    99+
    2023-06-22
  • Node.js的4个基本概念详解
    本篇内容主要讲解“Node.js的4个基本概念详解”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Node.js的4个基本概念详解”吧!1.非阻塞或异步I/O由于...
    99+
    2022-10-19
  • 详解OpenCV图像的概念和基本操作
    前言: opencv最主要的的功能是用于图像处理,所以图像的概念贯穿了整个opencv,与其相关的核心类就是Mat。 像素: 图片尺寸以像素为单位时,每一厘米等于28像素,如15...
    99+
    2022-11-12
  • Spring之底层架构核心概念Environment及用法详解
    目录1.Environment作用2.用法2.1 systemEnvironment 和 systemProperties2.2 MutablePropertySources3.实际...
    99+
    2022-12-27
    Spring底层架构Environment Spring Environment Spring底层架构
  • Spring Data JPA框架的核心概念与Repository接口详解
    目录1 核心概念CrudRepository接口PagingAndSortingRepository接口2 查询方法3 后续内容介绍1 核心概念 Spring Data存储库抽象的中...
    99+
    2022-11-13
  • 基于线程、并发的基本概念(详解)
    什么是线程?提到“线程”总免不了要和“进程”做比较,而我认为在Java并发编程中混淆的不是“线程”和“进程”的区别,而是“任务(Task)”。进程是表示资源分配的基本单位。而线程则是进程中执行运算的最小单位,即执行处理机调度的基本单位。关于...
    99+
    2023-05-31
    线程 基本概念 并发
  • Ceph集群CephFS文件存储核心概念及部署使用详解
    目录1.CephFS文件存储核心概念1.1.CephFS文件存储简介1.2.CephFS文件存储架构1.3.CephFS文件系统的应用场景与特性2.在Ceph集群中部署MDS组件3....
    99+
    2022-11-13
    Ceph CephFS文件存储部署 Ceph CephFS
  • MySQL的基本概念和作用
     下面一起来了解下MySQL的基本概念和作用,相信大家看完肯定会受益匪浅,文字在精不在多,希望MySQL的基本概念和作用这篇短内容是你想要的。       ...
    99+
    2022-10-18
  • axios概念介绍和基本使用
    目录简介使用axios配置对象常用的配置项:默认配置axios拦截器取消请求总结 简介 本文主要讲解axios的概念和基本使用。 axios时目前最流行的ajax封装库之一...
    99+
    2022-11-13
  • Spring中的底层架构核心概念类型转换器详解
    目录1.类型转换器作用2.自定义类型转换器2.1.在spring中怎么用呢?2.1.1 用法2.1.2 解析3.ConditionalGenericConverter4.总结1.类型...
    99+
    2022-12-27
    Spring类型转换器 Spring底层架构
  • C/C++程序设计的基本概念详解
    目录概述main()函数内部名称变量和它的初始化编译时和运行时总结概述 学C语言有很长一段时间了,想做做笔记,把C和C++相关的比较容易忽视的地方记下来,也希望可以给需要的同学一些帮...
    99+
    2022-11-12
  • python链表的基础概念和基础用法详解
    本文为大家分享了python链表的基础概念和基础用法,供大家参考,具体内容如下 一、什么是链表 链表是由多个不同的节点组成,每个节点通过指针区域关联到一起链表的头指针,指向了头节点,...
    99+
    2022-11-10
  • VB.NET变量生存周期的基本概念详解
    这篇文章主要讲解了“VB.NET变量生存周期的基本概念详解”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“VB.NET变量生存周期的基本概念详解”吧!VB.NET变量生存周期 这一点程序员们都...
    99+
    2023-06-17
  • MySQL的基本概念和常用命令
    这篇文章主要讲解了“MySQL的基本概念和常用命令”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL的基本概念和常用命令”吧! 1 MySQL简介 ...
    99+
    2022-10-18
  • 音视频基本概念和FFmpeg的简单入门教程详解
    目录写在前面基本概念容器/文件(Conainer/File):媒体流(Stream):数据帧/数据包(Frame/Packet):编解码器(Codec):复用(mux):解复用(mu...
    99+
    2022-11-13
  • JavaScript的高级概念和用法详解
    目录1. 闭包2. 函数绑定3.使用命名空间4. 判断属性是否存在5. 解构赋值6.遍历对象属性7. 过滤数组8. 消除重复值9. 判断是否数组10. 转换数字和字符串11. 转换为...
    99+
    2022-11-13
  • 详解Vue input model的概念和用法
    Vue.js是一种流行的JavaScript框架,它提供了许多方便的功能来简化前端开发。其中,Vue的input model是一种非常方便的方法,可以允许您跟踪输入字段的状态,并使其更容易进行验证。在本文中,我们将介绍Vue input m...
    99+
    2023-05-14
  • 基本概念【入门、 发展简史、核心优势、各版本的含义、特性和优势、JVM、JRE 和 JDK 】(二)-全面详解(学习总结---从入门到深化)
    目录 JAVA 入门  Java 发展简史  Java 的核心优势 Java 各版本的含义 Java 的特性和优势  Java 程序的运行机制   JVM、JRE 和 JDK  Java 开发环境搭建  JDK 下载和安装  JDK 环...
    99+
    2023-09-02
    JVM java jvm 开发语言 new 命令 原力计划
  • java的Elasticsearch从基本概念到生产使用分析
    这篇文章主要介绍“java的Elasticsearch从基本概念到生产使用分析”,在日常操作中,相信很多人在java的Elasticsearch从基本概念到生产使用分析问题上存在疑惑,小编查阅了各式资料,整...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作