loading.js 1.12 KB
(function(vc) {

    var vm = new Vue({
        el: '#loadingComponent',
        data: {
            loadingInfo: {
                hide: true,
                count: 0,
            }
        },
        mounted: function() {

        },
        methods: {

        }
    });

    vm.$on('loading_openLoading', function() {
        console.log("开始加载");
        vm.loadingInfo.hide = false;
    });
    vm.$on('loading_closeLoading', function() {
        console.log("结束加载");
        vm.loadingInfo.hide = true;
    });
    /**
        加载遮罩层
    **/
    vc.loading = function(_flag) {

        if (vm.loadingInfo.count < 0) {
            vm.loadingInfo.count = 0;
        }

        if (_flag == 'open') {
            vm.loadingInfo.count++;
            if (vm.loadingInfo.count == 1) {
                vm.$emit('loading_openLoading', {});
            }
            return;
        }
        if (vm.loadingInfo.count < 0) {
            vm.loadingInfo.count = 1;
        }
        vm.loadingInfo.count--;

        if (vm.loadingInfo.count == 0) {
            vm.$emit('loading_closeLoading', {});
        }

    }
})(window.vc)