mutations

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

mutations 修改数据

<!-- 在处理 vuex 数据的时候,使用 <严格模式> 处理 ,  Mutation 必须是同步函数 -->

<!-- 严格模式  store -- index.js  -->

<script>
    // ...
    const debug = process.env.NODE_ENV !== 'production';
    const store =  new Vuex.Store({
        strict: debug
        // ...
    })
</script>

<!-- 1.创建 全局 mutations 实例  创建 mutations.js -->

    目录:
        store
        |-- modules
        |-- index.js
        |-- state.js
        |-- getters.js
        |-- mutations.js

<!-- 2.mutations.js ----------------  -->

<script>
    const mutations = {
        setMsg(state, payload){
            state.Height = payload;
        }
    }
    // 参数 state 能够获取子模块 的 state  实例属性  ★★★ (命名空间)
    export default mutations;
</script>

<!-- 3. index.js ------------------- -->

<script>
    // ... 
    import mutations from "./mutations.js"
    // ... 
    const store =  new Vuex.Store({
        // ...
        mutations               // mutations => mutations: mutations
    })
    export default store;
</script>

<!-- 4. 组件中使用: -->

<script>
    export default {
        methods: {
            setMsg() {
                this.$store.commit('setMsg', '我修改了 vuex 的数据');
            } 
        }
    }
</script>

<!-- 5.mapMutations 辅助函数 -->

<script>
    import { mapMutations } from "vuex";
    export default {
        methods: {
            // 第一种方法
            ...mapMutations({
                setMsg: 'setMsg'
            }),
            // 第二种方法
            ...mapMutations([
                'setMsg'
            ]),
            modifyMsg(){
                this.setMsg('我修改了 vuex 的数据');
            }
        }
    }
</script>

相关文章

网友评论

      本文标题:mutations

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