先来一张vuex的

  

  第一眼看到这张图片我内心是万匹草泥马飞过。

  简单理解:

   vuex:一个可以全局被使用的状态管理的“仓库”:state.js中定义初始状态,通过action去触发mutation从而去改变状态。

  

  一、在src目录下:新建一文件夹store,然后在store内建一个store.js

    //引入倚赖
    import Vue from 'vue'
    import Vuex from 'vuex'
    //使用vuex
    Vue.use(Vuex);

    //引入模块
    import relationNode from './relationNode'

    

    //创建store
    export default new Vuex.Store({//这里的store一定要大写,不然会报错
      modules: {

        relationNode

      }

    })

  二、在store文件内新建某一需要使用vuex的模块文件夹如relationNode文件夹---里面我需要使用关系节点的ID以及节点的url地址

    So,在state.js中先定义初始状态index以及url。   

    export default{
      index:'',
      url:''
    }

    1、在mutations-types.js中: 

      //查询节点的id:

      export const NODE_ID = 'NODE_ID';

      //查询节点图片地址:
      export const NODE_URL='NODE_URL'

    2、在mutation.js中:   

      import * as types from './mutations-types'
      export default{
        [types.NODE_ID](state,param){
          state.index=param;
        },
        [types.NODE_URL](state,param1){
          state.url=param1;
        }
      }

    3、在action.js中:

    

      import * as types from './mutations-types'
      //节点id
      export const nodeId =({commit},param)=>{//这里nodeId 相当于一个方法,param是传递的参数----和mutation的param一致
        commit(types.NODE_ID,param);
      }
      //节点图片地址
      export const nodeUrl=({commit},param1)=>{
        commit(types.NODE_URL,param1)
      }

    4、getters.js中:(获取mutation之后的状态)

      export default {
        index: state=> state.index,
        url:state=>state.url
      }

    5、index.js中:  

      import * as actions from './actions'
      import mutations from './mutation'
      import state from './state'
      import getters from './getters'

      export default{
        state,
        mutations,
        getters,
        actions
      }

  三、在组件中使用:  

      computed: {//计算属性
        ...mapGetters({     

        param:"index",
        url:"url"

        })
      }
    在methods:{
         ...mapActions([
        'nodeId'
     }
    其中methods中的nodeId就是action.js中定义的一个方法。
 
         vuex在大型项目中还是很吊的;

Vue2.0---vuex初理解的更多相关文章

  1. 基于vue2.0+vuex+localStorage开发的本地记事本

    本文采用vue2.0+vuex+localStorage+sass+webpack,实现一个本地存储的记事本.兼容PC端和移动端.在线预览地址:DEMO github地址:https://github ...

  2. 基于vue2.0 +vuex+ element-ui后台管理系统:包括本地开发调试详细步骤

    效果演示地址, github地址: demo演示:         1.About 此项目是 vue2.0 + element-ui + node+mongodb 构建的后台管理系统,所有的数据都是从 ...

  3. 用vue2.0+vuex+vue-router+element-ui+mockjs实现后台管理系统的实践探索

    A magical vue element touzi admin. 效果演示地址 更多demo展示 分支说明 master分支:前后端统一开发的版本:可以用于学习nodejs+mongodb+exp ...

  4. vue2.0 --- vuex (一)

    之前做vue项目中没有使用vuex  一直使用vue-router 组件.路由一直的转换,烦不胜烦 今天研究一下vuex vuex是什么: vuex是专门为vue.js应用程序开发的状态管理模式. 解 ...

  5. 基于vue2.0打造移动商城页面实践 vue实现商城购物车功能 基于Vue、Vuex、Vue-router实现的购物商城(原生切换动画)效果

    基于vue2.0打造移动商城页面实践 地址:https://www.jianshu.com/p/2129bc4d40e9 vue实现商城购物车功能 地址:http://www.jb51.net/art ...

  6. 干货分享:vue2.0做移动端开发用到的相关插件和经验总结(2)

    最近一直在做移动端微信公众号项目的开发,也是我首次用vue来开发移动端项目,前期积累的移动端开发经验较少.经过这个项目的锻炼,加深了对vue相关知识点的理解和运用,同时,在项目中所涉及到的微信api( ...

  7. [js高手之路]Vue2.0基于vue-cli+webpack Vuex用法详解

    在这之前,我已经分享过组件与组件的通信机制以及父子组件之间的通信机制,而我们的vuex就是为了解决组件通信问题的 vuex是什么东东呢? 组件通信的本质其实就是在组件之间传递数据或组件的状态(这里将数 ...

  8. vue2.0 axios封装、vuex介绍

    一.前言 博主也是vue道路上的行者,道行不深,希望自己的东西能对大家有所帮助.这篇博客针对 了解过vue基础,但是没有做过vue项目的童鞋.如果想看基础指令,可以看我之前的一篇博客,请点击  跳转, ...

  9. Vue2.0 探索之路——生命周期和钩子函数的一些理解

    前言 在使用vue一个多礼拜后,感觉现在还停留在初级阶段,虽然知道怎么和后端做数据交互,但是对于mounted这个挂载还不是很清楚的.放大之,对vue的生命周期不甚了解.只知道简单的使用,而不知道为什 ...

  10. Vue2.0 探索之路——生命周期和钩子函数的一些理解 - JS那些事儿

    在使用vue一个多礼拜后,感觉现在还停留在初级阶段,虽然知道怎么和后端做数据交互,但是对于mounted这个挂载还不是很清楚的.放大之,对vue的生命周期不甚了解.只知道简单的使用,而不知道为什么,这 ...

随机推荐

  1. jvm性能监控(2)–JVM的监控工具jstat

    Jstat是JDK自带的一个轻量级工具,主要用JVM内建的指令对java应用程序的资源和性能进行实时的监控. openjdk没有jstat,jps等命令解决办法  执行以下命令即可:yum insta ...

  2. python学习三十七天函数的作用域查找顺序LEGB

    python函数的作用域查找顺序LEGB,分别为 locals  eclosing  globals  builtins .了解作用域的范围,可以更好的操作你想要的业务,分别介绍一下. 1,local ...

  3. 2018-10-11-WPF-拖动滚动

    title author date CreateTime categories WPF 拖动滚动 lindexi 2018-10-11 14:10:41 +0800 2018-2-13 17:23:3 ...

  4. 二 shell 基础

    一   文件的 权限基础 文件有三类权限   user,group,other, 权限分为 r w x  代表数字分别为 4 2 1 修改权限命令 chmod 权限还有特殊权限,在执行的时候代表某一身 ...

  5. Intellij CodeComplete

    code-complete change to ALT + /

  6. HTML基础 块级元素和内联元素

    大多数 HTML 元素被定义为块级元素或内联元素. 块级元素包括:body  from  select  textarea  h1-h6 html table  button  hr  p  ol   ...

  7. zuul 详解

    zuul的简单使用与分析: https://www.jb51.net/article/106716.htm https://www.jianshu.com/p/ff863d532767 zuul自定义 ...

  8. centos 6.5 查看 IP

    ip 和 ifconfig 两个命令都可以,但现在推荐使用 ip ip addr ifconfig

  9. java上传附件含有%处理或url含有%(URLDecoder: Illegal hex characters in escape (%) pattern - For input string)

    在附件名称中含有%的时候,上传附件进行url编码解析的时候会出错,抛出异常: Exception in thread "main" java.lang.IllegalArgumen ...

  10. Mac下通过npm安装webpack 、vuejs,以及引入jquery、bootstrap等(初稿)

    前言: 初次接触前端开发技术,一些方向都是在同事的指引和自己的探索后,跑了个简易web,迈入全栈系列.由于是事后来的文章,故而暂只是杂记,写的粗略且不清晰,后续将补之. 主要参考文档: http:// ...