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的使用方式

  • 相关阅读:
    数据库中分组函数rank() ntile() dense_rank() row_number
    seo关键指令
    asp.net中的几个路径问题!
    Jquery 1.6+新属性prop()使用
    SEO
    电脑屏幕显示米黄色!
    C#中对类的扩展
    使用bat文件发布asp.net程序
    SEO优化
    当打开一个网页,浏览器host服务器做了啥?
  • 原文地址:https://www.cnblogs.com/xy-ouyang/p/11267052.html
Copyright © 2011-2022 走看看