Vuex中的States、Mutations、Actions、Getters、Modules、Plugins的作用(推荐使用版本)

这篇具有很好参考价值的文章主要介绍了Vuex中的States、Mutations、Actions、Getters、Modules、Plugins的作用(推荐使用版本)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、State

二、Mutations

三、Actions

四、Getters

五、Modules


前提:state.js要引入,

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

Vue.use(Vuex)

 下面我都省略了

一、State

所有共享数据都放到Store的state中存储

const store = new Vuex.Store({
    state: { count: 0 }
})

访问:

<template>
    <div>
        <h3>当前的值为{{ this.$store.state.count }}</h3>//this可以省略
    </div>
</template>

二、Mutations

作用:修改Vuex中的全局数据

1、只能通过Mutation变更Store中的数据

2、操作有点繁琐,但可以集中监控所有数据变化

定义mutations:

const store = new Vuex.Store({
    state: { count: 0 },
    mutations:{ 
        add(state, step) {//参数1: 上面的state  参数2: 组件传过来的参数
            state.count += step
        }
    }
})

组件中触发mutations:

methods: {
    handle() {
        this.$store.commit('add', 3)//commit的作用是调用某个mutation函数
                                    //参数1: 调用mutation函数里面的方法的方法名
                                    //参数2: 传过去的参数
    }
}

三、Actions

actions用于处理异步任务 例如: 计时器

如果通过异步操作变更数据 , 必须通过actions,而不能通过mutations

但是Action还是要通过触发Mutation的方式间接更改数据

定义actions:

const store = new Vuex.Store({
    state: { count: 0 },
    mutations: { 
        addN(state, step) {//参数1: 上面的state  参数2: 组件传过来的参数
            state.count += step
        }
    },
    actions: {
        addNAsyc (context, step) {//参数1:固定写法  参数2:组件传过来的参数
            setTimeout(() => {
                context.commit('addN', step)//调用mutation的addN()
            }, 1000)
        }
    }
})

触发actions:

mathods: {
    handle() {
        this.$store.dispatch('addNAsync', 5)//参数1: Action里面的方法名
                                            //参数2: 传进Action的参数
    }
}

四、Getters

作用:Getter可以对store中的数据进行加工处理形成新数组

(1).Getter可以对store中已有的数据加工处理之后形成新的数据(类似vue的计算属性)

(2).Store中数据发生关系, Getter的数据也会跟着变化

定义getters:

const store = new Vuex.store({
    state: {
        count: 0
    },
    getters: {
        showNum: state => {
            return '当前数量为[' + state.count + ']'
        }
    }
 
})

 触发getters:

<h3>{{ this.$store.getter.showNum }}</h3>

五、Modules

点击链接

六、Plugins

实现数据持久化

点击链接文章来源地址https://www.toymoban.com/news/detail-450542.html

到了这里,关于Vuex中的States、Mutations、Actions、Getters、Modules、Plugins的作用(推荐使用版本)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vuex中的modules使用

             模块,向store注入其他子模块,可以将其他模块以命名空间的方式引用。           为了拆分state中的数据,提高可维护性,防止修改时的覆盖和重名。 前置条件: (1)在工程的 /src/store目录下建modules文件夹。 (2)modules文件夹下建shop.js: const shopCar = {     name

    2024年04月22日
    浏览(35)
  • vue之vuex的getters详解

    1.getters:类似是Vuex中的计算属性,也具有缓存功能:如果state中的数据得到了改变,那么getters中的属性的值也会发生改变,如果state的值没有发生任何变化,那么getters中的属性,的值就不会发生改变 (1)例如state里有个list数据: (2)再gitters里通过filter方法过滤出需要的数

    2024年02月07日
    浏览(44)
  • Vue2向Vue3过度Vuex核心概念mutations

    1.定义mutations 2.格式说明 mutations是一个对象,对象中存放修改state的方法 3.组件中提交 mutations 4.练习 1.在mutations中定义个点击按钮进行 +5 的方法 2.在mutations中定义个点击按钮进行 改变title 的方法 3.在组件中调用mutations修改state中的值 5.总结 通过mutations修改state的步骤 1.定义

    2024年02月11日
    浏览(44)
  • vuex前端开发,getters是什么?怎么调用?简单的案例操作

    vuex前端开发,getters是什么?怎么调用?简单的案例操作! 下面通过一些简单的案例,来了解一下,vuex当中的getters到底是什么意思,有哪些实际的操作案例。 Vuex的getters主要用于对 store中的state进行计算或过滤 ,类似于Vue组件中的 计算属性 。它可以对state进行一些处理,然后

    2024年01月19日
    浏览(44)
  • vuex中actions异步调用以及读取值

    提示:这里简述项目相关背景: 将根据segmentId查出来的合同信息托管到vuex中,让每个人都可以获取到合同信息 1:调用vuex异步函数的语法是 this.$store.dispatch(\\\'actions方法名\\\',值) 2:在computed(计算属性)中使用mapState语法糖 computed: {     ...mapState({       contractCode:state = state.c

    2024年02月08日
    浏览(40)
  • Vuex 中,使用modules时,不使用命名空间

    fafa.js文件 Vuex的index.js文件 我们的组件 在上述代码中,我们使用了对象语法来映射 newOrderNum 变量。我们指定了一个计算属性 newOrderNum ,并使用箭头函数来返回 state.fafa.newOrderNum 的值。 这样, newOrderNum 变量就会被正确映射到组件中,并可以在模板中使用了。

    2024年02月14日
    浏览(38)
  • 解决ERROR in ./node_modules/vuex/dist/vuex.esm.js

    当你安装vuex时,安装完成后可能会出现这样的报错 ERROR in ./node_modules/vuex/dist/vuex.esm.js    两种原因: 1、如果你是用的是vue2,那应该安装vuex@3版本 npm i vuex@3 如果你是用的是vue3,那么应该安装vuex@4版本  npm i vuex@4 2、第二种情况就是,你安装的版本没问题,但是你是在运行情

    2024年02月16日
    浏览(54)
  • vue - vuex详细讲解和modules模块化的使用

    vuex 简介 Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。 通俗的来说,vuex是用于当某一状态需要在多个组件中共享,方便我们使用并追踪这些状态时使用。 1,vuex的

    2024年02月06日
    浏览(42)
  • Vuex在项目中的实际应用

    最近让我搞一个关怀版本的系统。纯纯前端、无语死。就是整个系统的字体还有框框啥的变大。简单暴力的做法就是重新写一套样式咯,这不纯纯累死人啊。琢磨了一下,如果可以保存关怀版的一个标志,然后全部组件都可以获取到该标志。通过该标志,然后动态的指定类的

    2024年02月03日
    浏览(59)
  • JavaEE-Nuxt中的vuex

    参考:https://v2.nuxt.com/docs/directory-structure/store 步骤一:创建 store/index.js 添加一个 counter变量,并可以继续累加操作 步骤二:在页面中,使用 步骤一:创建其他模块 store/book.js 步骤二:使用指定模块中的数据

    2024年01月25日
    浏览(23)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包