Vue狀態管理vuex中getters的用法


  • store

    // store.js
        import Vue from "vue";
        import Vuex from "vuex";
    
        Vue.use(Vuex);
    
        export default new Vuex.Store({
            state: {
                userInof: {
                    token: "登陸憑證",
                    name: "魯班七號"
                },
                buff: "帶藍buff的"
            },
            getters: {  // 可以認為是 store 的計算屬性
                name(state) {
                    return state.userInof.name;
                },
                nameBuff(state, getters) {  // Getter 也可以接受其他 getter 作為第二個參數
                    return state.buff + getters.name;
                }
            },
            mutations: {},
            actions: {},
            modules: {}
        });
    
  • App.vue

        <template>
            <div id="app">
                <p>{{ $store.getters.name }}</p>
                <p>{{ $store.getters.nameBuff }}</p>
                <p>{{ name }}</p>
                <p>{{ nameBuff }}</p>
                <p>{{ nameBuff_2 }}</p>
            </div>
        </template>
    
        <script>
        import { mapGetters } from "vuex";
        export default {
            computed: {
                ...mapGetters({
                    name: "name" // 使用對象展開運算符將 getter 混入 computed 對象中 對象模式
                }),
                ...mapGetters(["nameBuff"]),  //  數組模式
                nameBuff_2() {
                    return this.$store.getters.nameBuff;
                }
            }
        };
        </script>
    

vuex getters 參考:https://vuex.vuejs.org/zh/guide/getters.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM