VUEX 入门(组件写法)

1. 简述


  VUEX网上有不少教程,我也看了官方和不少博客的教程,但是还是看的不爽,因为总是用全局的写法,而实际我们通常都是用组件开发的,我还是写一组件开发的例子出来,主要是刚入门的小白看的。


2.安装 引入


1.在main.js中

import Vuex from 'vuex'

Vue.use(Vuex)

2.建立store.js文件

在store文件夹下建立store.js文件

// 1.引入

import Vue from 'vue';

import Vuex from ‘’vuex';

// 2.定义

const state= {

    count:1

}  // state相当于data是公用数据地方

const mutations = {  

   add(state){

      state.count++

  }

    reduce(state){ 

      state.count--

}

} // mutatiions 是方法 s



// 3.实例化导出

export default new Vuex.Store({

  state,mutations

})

这个最简单的store.js就建立好了,在组件使用


3.在组件中使用vuex


1.组件中如何引用store.js中count的值?

通常有两种写法,写法1 在demo.vue中

template中

<span> {{count}}</span>


script中 因为我们在main中已经全局注册了$store 在this中直接拿就可以了

一、通过computed的计算属性直接赋值

computed : {

    count(){

    return this.$store.count 
    }

  }

二、通过mapState的对象来赋值

我们首先要用import引入mapState。 注意这里import的是vuex 而不是store

import { mapState } from 'vuex';

三、通过mapState的数组来赋值

computed : mapState (["count"])

mapState还可以这样写 (推荐写法  ...是ES6语法) 

computed:{...mapState(['count'])}


1.组件中使用模板Mutations方法

1.在模板count.vue里用import 引入我们的mapMutations:

import {  mapState ,mapMutations  } from 'vuex';

2.methods中添加如下方法标签里添加methods属性,并加入mapMutations在模板的标签里添加methods属性,并加入mapMutations标签里添加methods属性,并加入mapMutations

methods: mapMutations( ['add','reduce'] ),

其实我更推荐下面这个写法(这种写法包括上面的实际指的是,store.js中的方法和我这里同名,当然可以不同同名,用as既可,详见文档)

methods:{ ...mapMutations( ['add','reduce'] )}


在template中写法如下

<button> @click = "reduce"> 点我呀 <button>


3.总结

是入门级的小白参考,更多方法参见文档 或者

https://juejin.im/entry/59191b6b0ce4630069f6a3ad

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 安装 npm npm install vuex --save 在一个模块化的打包系统中,您必须显式地通过Vue.u...
    萧玄辞阅读 2,979评论 0 7
  • Vuex是什么? Vuex 是一个专为 Vue.js应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件...
    萧玄辞阅读 3,179评论 0 6
  • Vuex 的学习记录 资料参考网址Vuex中文官网Vuex项目结构示例 -- 购物车Vuex 通俗版教程Nuxt....
    流云012阅读 1,496评论 0 7
  • vuex 场景重现:一个用户在注册页面注册了手机号码,跳转到登录页面也想拿到这个手机号码,你可以通过vue的组件化...
    sunny519111阅读 8,082评论 4 111
  • 这两天在做Vue移动端的项目,正好用到了Vuex,记录一下相关知识。 一、安装 npm yarn Vuex是Vue...
    婷楼沐熙阅读 7,741评论 2 2