美文网首页
快速入门Vuex

快速入门Vuex

作者: Wong巴卫 | 来源:发表于2017-09-18 21:21 被阅读0次

Vuex 快速入门

基本用途:

将某些data变成组件间公用的状态,组件随时都可以进行访问和响应,解决了props传值的链式响应的代码冗余

给状态配以公用方法,将状态的变更及时响应并处理

基本用法:

/store/store.js

import Vue from'vue';

import Vuex from'vuex';

 Vue.use(Vuex);

 exportconststore =newVuex.Store({

state: {

sideBarOpened:false//放置公用状态},

getters: {

changeState: state => {//相当于vue实例中的methods,用于处理公用data//自vuex 面向组件的数据处理}

},

mutations: {//写法与getters相类似//组件想要对于vuex 中的数据进行的处理//组件中采用this.$store.commit('方法名') 的方式调用,实现充分解耦//内部操作必须在此刻完成(同步)},

actions: {//使得mutations能够实现异步调用,实现例如延迟调用increment ({ commit }, payload) {

commit('突变方法名')//payload应该是一个对象,可通过模板方法调用传入对象的方式将数据从组件传入vuex},

asyncIncrement({commit}) => {

setTimeout(() => {

commit('increment')

},1000)

}

},

modules: {//引入某一个state的以上集合的模块,会自动分别填充到上面,使得结构更加清晰}

});

main.js

import { store } from'./store/store'*

*newVue({

el:'#app',

store,//注入根组件...

})

访问vuex中的数据和方法

this.$store.state.数据名   

this.$store.getters.方法名

受影响组件局部定义计算属性响应变化数据

computed: {

open () {

         returnthis.$store.state.sideBarOpened

    }

}

将 store 中的 getters/mutations 映射到局部(计算属性/方法)使用mapGetters/mapMutations辅助函数

import { mapGetters } from'vuex'

computed: {

    // 使用对象展开运算符将 getters 混入 computed 对象中

  ...mapGetters([

   //映射 this.doneTodosCount 为 store.getters.doneTodosCount

   'doneTodosCount',

   //'getter名称',

   // 映射 this.doneCount 为 store.getters.doneTodosCount

   doneCount:'doneTodosCount'

   // 三个点表示将内部拿出生成键值对,这样使得组件本身的计算属性不受影响

   // 此语法依赖babel-preset-stage-2

    ])

}

注意事项:

mutation 必须是同步函数 — devtool要保存快照,方便追踪状态变化

使用 v-model 绑定 vuex 计算属性的时候要设置get 和 set 才能双向绑定

computed: {    

  value: {        

            get () {returnthis.$store.getters.value;      

            },        

            set (event) {this.$store.dispatch('updateValue', event.target.value);        }    

}}

相关文章

  • 快速入门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 源码地址 工程代码结构如下...

  • 快速入门Vuex 魔法

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

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

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

  • Vuex的使用--快速入门

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

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

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

  • 轻松上手Vue - 简化Vuex

    PS: Vuex 对于很多初入门Vue的来说,入门困难,感觉非常绕。 Vuex 是一个专为 Vue.js 应用程...

网友评论

      本文标题:快速入门Vuex

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