vuex详解及模块化

news/2025/3/15 5:44:58/

私人博客

许小墨のBlog —— 菜鸡博客直通车

系列文章完整版,配图更多,CSDN博文图片需要手动上传,因此文章配图较少,看不懂的可以去菜鸡博客参考一下配图!

系列文章目录

前端系列文章——传送门
后端系列文章——传送门


文章目录

  • 私人博客
  • 系列文章目录
  • vuex的使用
  • vuex


vuex的使用

vuex是什么?

vue项目中的数据库,其中的数据是不持久的,在多个组件要共用一些临时数据的时候使用vuex。

依赖第三方模块:

npm i vuex@3

配置:在src下新建了store文件夹,其中新建了index.js

import Vue from 'vue'
import vuex from 'vuex'
Vue.use(vuex)
const store = new vuex.Store({// 定义数据state: {num1: 5}
})
export default store

在根组件中使用store,在main.js中:

import store from '@/store'new Vue({store
})

使用:

模板中使用:

{{$store.state.num1}}

在逻辑代码中使用:

console.log(this.$store.state.num1)

如果要将vuex中的数据放在自己组件中,当做自己这个组件的数据使用 的时候:

<script>// 导入state数据import {mapState} from 'vuex'export default {computed:{...mapState(['num1'])}}
</script>

此时当前组件就有计算属性 num1 了。

vuex

vuex中5个属性:

state

mutations

actions

getters

modules - 模块化管理数据

modules: {命名空间名字: 数据,空间名字: 数据
}

数据是通过导入进来的,被导入的文件:

export default {namespaced: true,state: {},getters: {},
}

state使用:

直接使用

模板中

{{$store.state.空间名字.数据}}

逻辑代码中

this.$store.state.空间名字.数据

将数据放在自己组件中:

import {mapState} from 'vuex'computed: {...mapState('空间名字', ['数据名字'])
}

getters使用:

直接使用

模板中

{{$store.getters['空间名字/数据']}}

逻辑代码中:

this.$store.getters['空间名字/数据']

将getters当做自己组件的数据:

import {mapGetters} from 'vuex'computed: {...mapGetters('空间名字', ['数据名字'])
}

mutations中定义方法,跟以前的定义方式一样

直接使用

this.$store.commit('空间名称/方法名称')

当做自己方法使用

// 导入
import {mapMutations} from 'vuex'
// 展开在methods中
methods: {...mapMutations('空间名称', ['方法名称'])
}

actions中定义异步方法,跟以前的方法一样

直接使用:

this.$store.dispatch('空间名称/方法名称')

当做自己的方法使用

// 导入
import {mapActions} from 'vuex'// 展开在自己的方法中
methods: {...mapActions('空间名称', ['方法名称'])
}

本博文缺失大量图片,严重影响内容完整性以及阅读体验,完整内容请前往本人菜鸡博客——许小墨のBlog


http://www.ppmy.cn/news/68478.html

相关文章

Spark大数据处理讲课笔记4.3 Spark SQL数据源 - Parquet文件

文章目录 零、本讲学习目标一、Parquet概述二、读取和写入Parquet的方法&#xff08;一&#xff09;利用parquet()方法读取parquet文件1、读取parquet文件2、显示数据帧内容 &#xff08;二&#xff09;利用parquet()方法写入parquet文件1、写入parquet文件2、查看生成的parque…

【Vue】学习笔记-Vue CLI $nextTick 过渡与动画

$nextTick 这是一个生命周期钩子 this.$nextTick(回调函数) 在下一次DOM更新结束后执行其指定的回调 什么时候用&#xff1a;当数据改变后&#xff0c;要基于更新后的新DOM进行某些操作时&#xff0c;要在nextTick所指定的回调函数中执行。 使用$nextTick优化Todo-List src/co…

Redis高级数据结构HyperLogLog

HyperLogLog(Hyper[ˈhaɪpə(r)])并不是一种新的数据结构(实际类型为字符串类型)&#xff0c;而是一种基数算法,通过HyperLogLog可以利用极小的内存空间完成独立总数的统计&#xff0c;数据集可以是IP、Email、ID等。 如果你负责开发维护一个大型的网站&#xff0c;有一天产品…

DOM事件模型与事件委托

事件 JS与HTML之间的交互通过事件实现。 事件就是文档或浏览器窗口中发生的一些特定的交互瞬间。 可以使用监听器来预定事件&#xff0c;以便事件发生时执行相应的代码。这种在传统软件工程中被称为观察者模式 事件流 事件流描述的是从页面中接受事件的顺序 事件冒泡 微软…

Educational Codeforces Round 145 (Rated for Div. 2) 题解

总结&#xff1a;这一场挺不容易的&#xff0c;思路也是挺奇特的&#xff0c;就是做上去感觉怪怪的&#xff0c;没有一点感觉 A. Garland 思路&#xff1a;不能连续操作两个相同颜色的灯泡&#xff0c;所以记录灯泡的颜色的数量&#xff0c;因为只有四个灯泡&#xff0c;便可…

unity2d实现一个全方位的无限随机地图

要实现一个全方位的无限随机地图&#xff0c;可以考虑以下步骤&#xff1a; 1.创建一个空的场景&#xff0c;并添加一个相机和一个玩家对象。 2.创建一个TileMap&#xff0c;它将作为你的地图板块。你可以使用随机数生成算法生成各种类型的地形&#xff0c;如森林、草地、沙漠…

【Python】pickle 包的理解和使用

pickle 是 Python 库中的一个模块&#xff0c;用于将 Python 对象序列化和反序列化。pickle 可以将对象序列化为字符串或字节序列&#xff0c;以便在网络上传输或保存到文件中。 pickle 是一个非常有用的工具&#xff0c;可以将 Python 对象转换为可序列化的字符串或字节序列&…

代理IP、IP代理、socks5代理:理解其概念、优缺点及应用场景“

代理IP、IP代理、socks5是当前互联网上常见的网络代理技术。网络代理技术是网络安全和隐私保护的重要组成部分&#xff0c;它通过隐藏真实IP地址和更改请求头部信息来保护用户的隐私和安全。在本文中&#xff0c;我们将深入了解代理IP、IP代理、socks5等技术&#xff0c;并探讨…