vuex Loding加载..

技术栈:vuex,mapActions, mapState

先在vuex的状态管理里定义好loding状态,以及加载文字

import Vue from 'vue';
import Vuex from 'vuex';
import router from '../router'

Vue.use(Vuex);

const store = new Vuex.Store({

  modules: {
    
    },
  state: {  

    // 加载loding
    loading: {
      status:false,
      text:''
    },

  },

  mutations: {
    
    // 修改loding状态
    updateLoadingStatus(state, status) {
      state.loading.status = status.status;
      state.loading.text = status.text;
    },
  },

  actions: {

    // 控制loding
    startLoding({state, commit},status){

      commit('updateLoadingStatus', status)
    },

  }
});

export default store;

定义好loding加载状态,那么在页面引入loding组件,我用vux组件


import { Loading } from 'vux'
  components: {
    Loading,
  },

需要操作

import { mapActions, mapState } from 'vuex'
import { Loading } from 'vux'

export default {
  components: {
    Loading,
  },
  computed: {
    ...mapState({
      loading: state => state.loading,
    })
  },

  created() {
    this.show();
  },

  methods:{

    ...mapActions(['startLoding',]),

    show(){
        this.startLoding({status: true, text: '加载..'})
        
    },
    up(){
        this.startLoding({status: false, text: '加载..'})
    }
  }
}

搞定

vuex Loding加载.._第1张图片
image.png

你可能感兴趣的:(vuex Loding加载..)