zoukankan      html  css  js  c++  java
  • Vuex 基本简单的使用

    适用场景

    1.全局共享数据,抛开繁琐的组件传值;
    2.什么数据适合全局共享?(组件的共享数据);
    3.好处?(谁要用,直接获取,组件修改其他的也变化);
    4.数据管理集中化,全局管理方便;

    如何在项目中使用vuex

    1.下载

    cnpm  i vuex -S

    2.导入,挂载vuex(main.js中)

    //导入vuex
    import Vuex from 'vuex'
    //把vuex安装到vue中:
    Vue.use(Vuex)

    3.创建store对象

    //创建一个store实例用来全局存储;
    const store = new Vuex.Store({
      state: {
        number:5,
               }
        })

    4.将store挂载到vm上

     //store挂载到vm上,才能在每个组建中通过this.$store.state.公共数据名称
    /* eslint-disable no-new */
    new Vue({
      el: '#app',
      router,
      render: h => h(App),
      store  
    })

    this.$store.state.数据名称的调用

    .vue组件调用:(第一种直接使用)

    <template>
      <div>
         {{this.$store.state.number}}
      </div>
    </template>

    .vue组件调用:(第二种导入辅助函数)

    import {mapState} from 'vuex'    //按需导入辅助函数和计算属性配合
     // 调用 mapState 函数和展开运算符
      computed:{
       ...mapState(['number']) 
      }

    页面直接使用

    <div>{{number}}</div>

    mutations:如果要修改state的数据需要在store中调用方法

    全局定义使用:

    const store = new Vuex.Store({
      state: {
         chuanc:10,
        },
      mutations: {
        add(state){
          state.chuanc += 2
         },
        }
    })

    调用辅助函数mapMutations

    import {mapState,mapMutations } from 'vuex'    //按需导入辅助函数和计算属性配合

    调用方法:

     methods: {
       ...mapMutations(['add']) 
      },
    // 调用 mapState 函数和展开运算符
      computed:{
       ...mapState(['chuanc']) 
      }

    组件展示:

    <div>
         {{chuanc}}
         <button @click="add">添加</button>
      </div>

    getters的使用(相当于计算属性):

    1.getters中定义的方法,就相当于vue的计算属性;
    2.getters变化了那么getters生成的数据也会变化;

  • 相关阅读:
    Windows 7驱动开发系列(四)WDM模型介绍
    Windows Phone 7 XNA 架构调用流程及第一视角实现介绍
    Windows 7驱动开发系列(一)前言&&WIN7的新特性
    联想的移动应用策略
    Windows 7驱动开发系列(五)WDM驱动设计原则
    如何把浏览器不信任的网址设置为可信任的网点
    https和http有什么区别
    yourphp目录结构
    HTTP与HTTPS的区别
    ico图标在谷歌浏览器中如何显示?
  • 原文地址:https://www.cnblogs.com/xiewangfei123/p/12848712.html
Copyright © 2011-2022 走看看