热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【VUE】Vuex学习与使用

Vuex学习与使用什么是Vuex?什么时候使用?Vuex核心概念安装与使用什么是Vuex?Vuex是一个专门为Vue.js应用程序开发的状态管理模式,


Vuex学习与使用

    • 什么是Vuex?
    • 什么时候使用?
    • Vuex核心概念
    • 安装与使用


什么是Vuex?

Vuex 是一个专门为 Vue.js 应用程序开发的状态管理模式,使用插件的形式引进项目中


  • 集中存储和管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化
  • 每一个 Vuex 应用的核心就是 store(仓库),new Vue.store({…}),“store”基本上就是一个容器,它包含应用中大部分的状态 (state)

什么时候使用?

用于SPA开发大型单页应用时使用


Vuex核心概念


  • State:共享状态(变量)

  • Getter:基于state的派生状态,可理解为组件中的计算属性

  • Mutation:一组方法,改变store中状态的执行者,同步操作

  • action:一组方法,类似mutation,但其中可以含有异步操作

  • Module:模块,方便状态管理与协作开发使用


安装与使用

1、安装

npm install vuex --save

2、引入文件

import Vue from 'vue'
import Vuex from 'vuex'

3、使用vuex插件:

Vue.use(Vuex)

  • 在Index.js中设置全局变量

const store = new Vuex.Store({modules: {user},// 类似于vue中的计算属性,根据gertter或state计算返回值getters,// 中间传值,存储各个状态state: {createrBrainstorm: '123'},// 一组方法,改变store中状态的执行者mutations: {setDeleteValue(state, value) {state.createrBrainstorm = value}},// 一组方法,其中可以含有异步操作actions: {setDeleteValueAsync({ commit }) {setTimeout(() => {commit('setDeleteValue')}, 1000)}}
})

  • 使用页面

1、引入

import { mapState } from 'vuex'

2、将全局变量映射为自己界面的变量

computed: {// 展开运算符,将全局变量映射为自己界面的变量...mapState(['createrBrainstorm'])}

3、监听变量变化并执行操作

watch: {createrBrainstorm(newVal) {if (newVal) {//监听到变量发生变化所执行的操作this.queryList()// 恢复全局变量this.$store.commit('setDeleteValue', '123')}}}

推荐阅读
  • vue使用
    关键词: ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • RouterOS 5.16软路由安装图解教程
    本文介绍了如何安装RouterOS 5.16软路由系统,包括系统要求、安装步骤和登录方式。同时提供了详细的图解教程,方便读者进行操作。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • VueCLI多页分目录打包的步骤记录
    本文介绍了使用VueCLI进行多页分目录打包的步骤,包括页面目录结构、安装依赖、获取Vue CLI需要的多页对象等内容。同时还提供了自定义不同模块页面标题的方法。 ... [详细]
  • 本文讨论了将HashRouter改为Router后,页面全部变为空白页且没有报错的问题。作者提到了在实际部署中需要在服务端进行配置以避免刷新404的问题,并分享了route/index.js中hash模式的配置。文章还提到了在vueJs项目中遇到过类似的问题。 ... [详细]
  • 在本教程中,我们将看到如何使用FLASK制作第一个用于机器学习模型的RESTAPI。我们将从创建机器学习模型开始。然后,我们将看到使用Flask创建AP ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • Linux环境变量函数getenv、putenv、setenv和unsetenv详解
    本文详细解释了Linux中的环境变量函数getenv、putenv、setenv和unsetenv的用法和功能。通过使用这些函数,可以获取、设置和删除环境变量的值。同时给出了相应的函数原型、参数说明和返回值。通过示例代码演示了如何使用getenv函数获取环境变量的值,并打印出来。 ... [详细]
  • MySQL数据库锁机制及其应用(数据库锁的概念)
    本文介绍了MySQL数据库锁机制及其应用。数据库锁是计算机协调多个进程或线程并发访问某一资源的机制,在数据库中,数据是一种供许多用户共享的资源,如何保证数据并发访问的一致性和有效性是数据库必须解决的问题。MySQL的锁机制相对简单,不同的存储引擎支持不同的锁机制,主要包括表级锁、行级锁和页面锁。本文详细介绍了MySQL表级锁的锁模式和特点,以及行级锁和页面锁的特点和应用场景。同时还讨论了锁冲突对数据库并发访问性能的影响。 ... [详细]
author-avatar
手机用户2602881147
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有