zoukankan      html  css  js  c++  java
  • 状态管理-vuex

    1、使用vuex

    // 使用vuex
    // 第一步:装包npm i vuex -S
    
    // 第二步:
    import Vuex from 'vuex'
    Vue.use(Vuex)
    
    // 第三步:
    const store = new Vuex.Store({
        state: {
            count: 0
        },
        mutations: {
            incr (state) {
                state.count++
            },
            sub (state, i) {
                state.count -= i;
            }
        }
    })
    
    var vm = new Vue({
        el: '#app',
        // render:将App组件渲染到el指定的div#app中(div#app中其他内容被覆盖)
        render: c => c(App),
        router,
        store // 第四步,挂载到vm
    });

    2、使用【$store.state.变量】获取vuex的数据;使用mutations来操作state中的数据【this.$store.commit('方法名', 参数)】

    <template>
    <div>
        <h1>counter组件</h1>
        <!-- 以前 -->
        <!-- <input type="text" v-model="count"/> 
        <input type="button" value="加1" @click="increment"/>
        <input type="button" value="减2" @click="subtract"/>
        -->
    
        <!-- 使用vuex后 -->
        <input type="text" v-model="$store.state.count"/>
        <input type="button" value="加1" @click="increment"/>
        <input type="button" value="减1" @click="subtract"/>
    
        <h2> count = {{$store.state.count}} </h2>
    </div>
    </template>
    
    <script>
    export default {
        // 以前count变量来自本组件data区,现在从vuex中取值
        /*data() {
            return {
                //count: 1
            }
        },
        methods: {
            increment() {
                this.count++;
            },
            subtract() {
                this.count--;
            }
            
        }*/
    
        // 使用vuex后
        methods: {
            increment() {
                this.$store.commit('incr');
            },
            subtract() {
                // 第二参数:给sub方法传参;注意,只能传一个参数。
                this.$store.commit('sub', 2);
            }
        }
    
    }
    </script>
    
    <style></style>

    3、使用getters包装数据并总结vuex的使用方式

  • 相关阅读:
    Django 路由层
    HTTP协议
    Python并发编程之协程
    Django配置KindEditor
    Django Form
    pymysql模块
    javascript获取URL参数代码(网络摘抄)
    javascript 实现飘动的广告(网络收藏,转)
    游标的使用
    javascript 一个很好用的日历控件(网络收藏,转)
  • 原文地址:https://www.cnblogs.com/xy-ouyang/p/11267052.html
Copyright © 2011-2022 走看看