getter

作者: 第三人称i | 来源:发表于2018-12-01 12:56 被阅读0次

    getter vuex 的 '计算属性'

      <!-- 创建 全局 getter 实例 -->
    
      <!-- 1. 在 store 文件下 创建 getters.js  -->
    
        目录:
            store
            |-- modules
            |-- index.js
            |-- state.js
            |-- getters.js
    
    <!-- 2. getters.js ------------------------ -->
    
    <script>
        const getters = {
            msg(state, getters) {
                return state.msg + '全局getters';
            }
        }
        // 参数 state 能够获取子模块 的 state、getters  实例属性  ★★★ (命名空间)
        export default getters;
    </script>
    
    <!-- 3. index.js ------------------- -->
    
    <script>
        // ... 
        import getters from "./getters.js"
    
        // ... 
    
        const store =  new Vuex.Store({
            // ...
            getters               // getters => getters: getters
        })
    
        export default store;
    </script>
    
    <!-- 4. 组件中使用: -->
    
    <script>
    export default {
        computed: {
            msg(){
                return this.$store.getters.msg
            }
        }
    }
    </script>
    
    <!-- 5. mapGetters 辅助函数 -->
    
    <script>
        import { mapGetters } from "vuex";
    
        export default {
            computed: {
                // 第一种方法
                ...mapGetters({
                    // 映射为 `this.$store.getters.msg`
                    msg: 'msg'
                    // ...
                }),
                // 第二种方法
                ...mapGetters([
                    'msg'
                    // ...
                ])
            }
        }
    </script>
    

    相关文章

      网友评论

          本文标题:getter

          本文链接:https://www.haomeiwen.com/subject/ilnlcqtx.html