美文网首页
快速入门Vuex 魔法

快速入门Vuex 魔法

作者: HappyZZD | 来源:发表于2017-11-08 10:01 被阅读0次

Vuex核心

  • Store
  • State
  • Mutation
  • Action
  • Module

Vuex 的工作流程图


112263-6fd755db3b988245.png

下面我们可以逐一理解

Store 可以理解成一个容器,包涵了State等

const mutations = {...};
const actions = {...};
const state = {...};
const getter = {...};

export default new Vuex.Store({
  state,
  mutations,
  actions,
  getters
})

State

状态树 负责存储整个状态数据 一般需要注入store中

const state = {
    num:123,
    str:'这是一个很长的文字。。。。'
}

使用方法 1.直接使用 2.使用vuex提供的语法糖

1. this.$store.state.num
  
2. import {mapState} from 'vuex'
   computed: {
            ...mapState({
                num: state => state.num

            })

Mutations

中文 '变化' , 因为Vuex 是单向数据流 所以只能通过Mutations 来改变 状态

const mutations = {
    SETNUM(state) {
        state.num++;
    },
    SUBNUM(state) {
        state.num--;
    },
    ADDNUM(state,n) {
        state.num+=n
    }
}

使用方法 1.直接使用 2.使用vuex提供的语法糖直接映射到methods

1.this.$store.commit('mutationName')
2.  methods: {
    ...mapMutations([
                'SUBNUM',
                'ADDNUM'
            ]),
  }
  // template
    <el-button type="info" @click="SUBNUM">-1</el-button>

mutation 是可以接受参数的

ADDNUM(state,n) {
        state.num+=n
    }

在组件中使用

  this.ADDNUM(parseInt(this.addnum))

Actions

可以用于改变状态,不过是通过触发mutation实现的,重要的是可以包含异步操作。其辅助函数是mapActions与mapMutations类似,也是绑定在组件的methods上的。
使用方法

 1.this.$store.dispatch(actionName)
 2.import {mapActions} from 'vuex'
  export default {
  methods: mapActions([
    'actionName',
  ])
}

Getters

有些状态需要做二次处理,就可以使用getters。

const getters = {
    strleng: state =>state.str.length
}

import {mapGetters} from 'vuex'
export default {
  computed: mapGetters([
    'strLength'
  ])
  //或
    getStrLenght() {
      return this.$store.getters.strleng
    },
}

待完善

参考文档
https://vuex.vuejs.org/zh-cn/getters.html

相关文章

  • 快速入门Vuex 魔法

    Vuex核心 Store State Mutation Action Module Vuex 的工作流程图 下面我...

  • 快速入门Vuex

    Vuex 快速入门 基本用途: 将某些data变成组件间公用的状态,组件随时都可以进行访问和响应,解决了props...

  • Vuex快速入门

    Vuex是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的...

  • vuex快速入门

    本文为课程 vuex深入浅出 的学习总结与记录;同时参照了vuex官方文档。文中demo的代码可参考:我的码云 一...

  • Vuex快速入门

    文档在这里: Vuex (vuejs.org)[https://v3.vuex.vuejs.org/zh/#%E4...

  • vuex入门实例2

    vuex入门实例2 这章节我准备以requirejs模块化,讲解下如何快速上手vuex 源码地址 工程代码结构如下...

  • nodejs npm vue vuex快速安装使用入门腾讯课堂

    nodejs npm vue vuex快速安装使用入门腾讯课堂视频教程https://ke.qq.com/web...

  • Vuex的使用--快速入门

    Vuex是一个专为Vue.js应用程序开发的状态管理工具。它采用集中式存储管理应用的所有组件的状态,并以相应的规则...

  • 如何更丝滑的使用Vuex

    vuex-cuer 简介 还在为 vuex 的魔法字符串而烦恼?还在为阅读项目里 vuex 相关的代码而头痛?如何...

  • 后台管理(4)--- vuex的实际使用(vue)

    今天我们来讨论一下在项目中到底应该怎么使用vuex(vuex还没有入门的同学可以先看这个链接vuex 入门及持久化...

网友评论

      本文标题:快速入门Vuex 魔法

      本文链接:https://www.haomeiwen.com/subject/bmdjmxtx.html