zoukankan      html  css  js  c++  java
  • vuex

    vuex 状态管理器,或者是一个curd管理数据变化的js仓库。

     一般在main.js全局引入用prototype

    vue.prototype.$store = store (import store from './store')

    const app = new Vue({
      store,
        ...App
    })

    new Vuex.Store({ 

    state => 基本数据;存状态 调用方法this.$store.state/(不要直接修改 this.$store.sate,不会渲染)、this.$store.setState(对象),setState异步的话用setState(函数)
    getters => 从基本数据派生的数据 ;类似computed计算属性,监听值的变化
    mutations => 提交更改数据的方法,同步! ;更改状态,方法(推荐用同步) 调用mutations用commit同步 -> this.$store.commit('方法名',参数)
    actions => 像一个装饰器,包裹mutations,使之可以异步。 ; (异步的mutations) 调用action用dispatch异步
    modules => 模块化Vuex

    (state相当于data      getters相当于computed    mutations(同步)和action(异步)相当于methods)

     })

    1.同步用this.$store.commit('方法名',参数),  异步用this.$store.dispatch('方法名',参数)

    2.获取state的数据

    ①、直接调用:this.$store.state.变量

    ②、组件引入调用

    (1)、一级

    import {mapState} from 'vuex'
    
    computed: {
    
      ...mapState('二级命名',[变量,变量])
    
    }

    (2)、二级store  --  createNamespacedHelpers

    import {createNamespacedHelpers, mapState, mapGetters} from 'vuex'
    const {
        mapState: chatState,
        mapGetters: chatGetters
    } = createNamespacedHelpers(分包)

     (3)、二级获取主的state

     rootState

    友情链接

    关于this.setState()的那些事https://www.jianshu.com/p/a883552c67de

    正确使用state(状态):https://blog.csdn.net/zsy_snake/article/details/80860167

    vuex中mutations为什么要写成同步方法?https://www.jianshu.com/p/392cb1d0a301

    Vuex的五个核心概念:https://www.cnblogs.com/y896926473/p/6709733.html

  • 相关阅读:
    作业五:团队项目——项目启动及需求分析
    结对编程项目---四则运算
    PSP记录个人项目耗时情况
    代码复查
    是否需要有代码规范?
    编写一个能自动生成小学四则运算题目的程序。
    目前流行的源程序版本管理软件和项目管理软件的优缺点
    在Github注册账户
    浏览完整部教材,列出不懂的5-10个问题
    FZU 1683 纪念SlingShot(矩阵水)
  • 原文地址:https://www.cnblogs.com/lgyong/p/11570119.html
Copyright © 2011-2022 走看看