基于weui loading插件封装
if="show">if="text">{{text}}
// loading.js import LoadingComponent from './Loading.vue' let $vm export default { install(Vue, options) { if (!$vm) { const LoadingPlugin = Vue.extend(LoadingComponent); $vm = new LoadingPlugin({ el: document.createElement('div') }); document.body.appendChild($vm.$el); } $vm.show = false; let loading = { show(text) { $vm.show = true; $vm.text = text; }, hide() { $vm.show = false; } }; if (!Vue.$loading) { Vue.$loading = loading; } Vue.mixin({ created() { this.$loading = Vue.$loading; } }) } }
// main.js import Loading from 'views/common/baseui/loading' Vue.use(Loading);
调用:
mounted () { this.$loading.show(); let _ = this setTimeout(() => { _.$loading.hide(); }, 5000) },