• <vuex第四弹>vuex之modules(前端网备份)


    模块化,只针对于超大型项目
    index.js
    import Vue from 'vue';
    import Vuex from 'vuex';
    Vue.use(Vuex);
    const state = {
    count:44
    }
    const mutations ={
    jia(state,n){
    state.count+=n.a;
    },
    jian(state){
    state.count--
    }
    }
    //vue 2.0官方建议在computed里面的不使用箭头函数,因为箭头函数的this 指向上一层,而function的this指向本层
    const getters={
    count:function(state){
    return state.count+=100
    }
    }
    const actions={
    //context在actions里面代表着整个的store
    jiaplus(context){
    context.commit('jia',{a:1});
    setTimeout(() => {
    context.commit('jian');
    }, 1000);
    console.log('我先被执行了')
    },
    jianplus({commit}){
    commit('jian')
    }
    }
    const moduleA = {
    state,
    mutations,
    getters,
    actions
    }
    const moduleB = {
    state:{
    count:144
    }
    }
    export default new Vuex.Store({
    modules:{
    a:moduleA,
    b:moduleB
    }
    })
    vue

    <style>
    p button{
    50px;
    }
    </style>
    <template>
    <div>
    <div>
    {{$store.state.a.count}}-{{count}}-{{$store.state.b.count}}
    </div>
    <p>
    </p>
    </div>

    </template>

    <script>
    export default {
    name:'te',
    data(){
    return{
    counts:0
    }
    },
    computed: {
    count () {
    return this.$store.state.a.count+1
    }
    },
    methods:{
    }
    }
    </script>
    比如是app模块下的state的roleName,读取的时候2种写法,可以看到辅助函数更麻烦

    import { mapState  } from 'vuex'        
    computed: {
                ...mapState({
                    "roleName": state => state.app.roleName 
                }),
    //          roleName () {
    //          return this.$store.state.app.roleName
    //          }
              },
  • 相关阅读:
    k8s运行容器之Job应用(6)
    k8s创建资源的两种方式及DaemonSet应用(5)
    kubernetes架构及deployment应用(4)
    docker部署harbor私有镜像库(3)
    k8s集群部署(2)
    kubernetes介绍(1)
    Docker网络(5)
    Docker存储(4)
    Docker镜像的仓库及底层依赖的核心技术(3)
    Docker的镜像及容器常用操作(2)
  • 原文地址:https://www.cnblogs.com/lsc-boke/p/10997233.html
Copyright © 2020-2023  润新知