vuex详解及模块化

news/2025/2/22 4:36:19

私人博客

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

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

系列文章目录

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


文章目录

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


vuex_14">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>javascript">
    // 导入state数据
    import {mapState} from 'vuex'
    export default {
        computed:{
            ...mapState(['num1'])
        }
    }
</script>

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

vuex_81">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.niftyadmin.cn/n/325516.html

相关文章

ftp 550 Failed to change directory

当收到 "550 Failed to change directory" 的错误消息时&#xff0c;表示尝试更改目录时出现问题。这个错误通常与FTP&#xff08;文件传输协议&#xff09;或类似的文件传输工具有关。 "550 Failed to change directory" 错误消息通常有以下几种可能的原…

华为od题库汇总分享

​ 前言 最近有很多群友问塔子哥华为最新OD题库在哪里可以找。我索性就写篇文章介绍一下吧~。这里塔子哥还是要说一下&#xff0c;大家想进华为od还是要重视题库。因为根据无数群友&#xff0c;网友的反映。华为od就是从题库里抽题&#xff0c;不会有新题。只是每个季度题库会…

您使用的ChatGPT错了!以下是如何领先于 99% 的 ChatGPT 用户

我们大多数人都错误地使用了 ChatGPT&#xff1a; 错误1&#xff1a;不在提示中包含示例。 错误2&#xff1a;忽略通过角色控制 ChatGPT 的行为。 错误3&#xff1a;让 ChatGPT 猜测内容&#xff0c;而不是向它提供一些信息。 通过3类有用的prompt工程掌握 ChatGPT的使用。 …

【Tkinter.Floodgauge】当程序需要长时间运行,可以用这个组件显示进度【文末附源码地址】

文章目录 效果展示源码解析导包Floodgauge组件界面初始化创建窗口修改数值运行 源码地址 效果展示 我在使用tkinter进行界面化操作的时候&#xff0c;会遇到运行很慢的程序&#xff0c;比如&#xff1a;爬虫下载视频、压缩解压文件&#xff0c;这些操作会很耗时间。 Floodgau…

MUX VLAN原理与配置

MUX VLAN原理 主VLAN(Principal VLAN) 主VLAN(Principal VLAN):可以与MUX VLAN内的所有VLAN进行通信。 从VLAN(Subordinate VLAN)分为: 隔离型从VLAN(Separate VLAN):只能和Principal VLAN进行通信,和其他类型的VLAN完全隔离,Separate VLAN内部也完全隔离。 互通…

好程序员:转行学Java怎么样?什么工作可以月入过万?

去年的时候有个学妹跟小源说&#xff0c;想转行&#xff0c;但是目前又比较迷茫&#xff0c;不知道该从事啥行业&#xff1f;她跟小源说了下具体情况&#xff0c;本科学历&#xff0c;Java零基础。小源让好程序员的就业老师跟她分享了下相关的it行业规划&#xff0c;最后她学了…

(1分钟了解)视觉惯性导航初始化方法综述

视觉惯性导航初始化方法综述 ​ 编辑切换为居中 添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; 初始化相关的简介&#xff0c;在这里知道初始化方法可以分为联合初始化、非联合初始化和半联合初始化三种方法即可。 ​ 编辑切换为居中 添加图片注释&…

NFT数字藏品平台

在 NFT &#xff08;非同质化代币&#xff09;发行和交易中&#xff0c;数字藏品交易平台&#xff08;以下简称“交易平台”&#xff09;的运营模式和法律地位至关重要。本文对数字藏品交易平台的运营方式进行梳理&#xff0c;并对其中可能存在的法律风险进行分析。 2021年以来…