zoukankan      html  css  js  c++  java
  • Vuex基本用法

     1、

         

     2、

    import Vue from 'vue'
    import Vuex from 'vuex'
    
    Vue.use(Vuex)
    
    export default new Vuex.Store({
    // 公共数据源 state: { count: 0 },
    // 突变 mutations: { }, actions: { }, modules: { } })

    (1) State

    方 法 一:

    方 法 二:

    // 1、
    import {mapState} from ‘vuex’ 
    
    // 2、
    computed:{ 
        ...mapState([‘count’])
     
    }

    (2) Mutation 突变

     

     

     

     

     点击实现隔一秒加1:

    store.js

      mutations: {
        add (state) {
          setTimeout(() => {
            state.count++
          }, 1000)
        }
      },
     
    父组件 App.vue
     
    <template>
      <div>
        <my-addition></my-addition>
        <span>=================</span>
        <my-substraction></my-substraction>
      </div>
    </template>
    
    <script>
    import Addition from './components/Addition'
    import Substraction from './components/Substraction'
    export default {
      data () {
        return {}
      },
      components: {
        'my-addition': Addition,
        'my-substraction': Substraction
      }
    }
    </script>
    

    子组件 Addition. vue

    <template>
      <div>
          <h3>最新count值:{{$store.state.count}}</h3>
          <button @click="handle">延时+1</button>
    
      </div>
    </template>
    
    <script>
    import { mapMutations } from 'vuex'
    export default {
      data () {
        return {}
      },
      methods: {
        ...mapMutations(['add']),
        handle () {
          this.add()
        }
      }
    }
    </script>
    

      

    点击延时+1按钮,会发现 count 的值还是初始值,未发生变化:

     所以 不要在 mutations 突变中执行异步操作 (Action 用于处理异步操作)

    (3)Action 

    如果通过异步操作变更数据,必须通过Action,而不能使用Mutation,但是在Action中还是要通过触发 Mutation 的方式间接变更数据。


     
  • 相关阅读:
    labVIEW学习——属性节点
    MATLAB学习
    WinForm中键盘按键问题
    TextBox的智能感知
    使用脚本操作UpdatePanel中控件的问题
    DBNull.Value,null,String.Empty之间的区别和联系
    Hotmail如何对已经存在的邮件地址进行更改?
    第一个hibernate项目
    html静态实现左边导航右边显示链接页面
    Struts2学习
  • 原文地址:https://www.cnblogs.com/sylys/p/13678676.html
Copyright © 2011-2022 走看看