事件总线(Event Bus)可以在vue项目的index.js文件中创建,也可以在一个独立的.vue文件中创建。使用时,在各个子组件中引入该组件即可。

  项目中的全屏loading较多时,可以在根组件App.vue中添加一个loading,再结合Event Bus,即可在子组件中唤起该loading。

  代码如下:

//EventBus.vue
<template>
</template>
<script>
import Vue from "vue";
// 模块类事件总线 vuex的补充, 有些场景下vuex用起来 很复杂
export default new Vue({
name: 'EventBus',
data () {
return {
// code
}
}
})
</script>

  

//App.vue  vue项目根组件
<template>
<!-- 在顶级渲染出口外添加loading及loading文字 -->
<div v-loading="loadingBox" :element-loading-text="loadingName">
<router-view >
</router-view>
</div>
</template>
<script>
import eventScope from "./EventBus"; //引入EventBus
export default {
name: 'AppView',
data: function() {
return {
loadingBox: false,//控制loading显隐
loadingName:""//loading时显示的文字
}
},
mounted: function() {
     //组件加载后即开始监控loading
eventScope.$on("loading", (l, name='拼命处理中...')=>{
this.loadingBox = l;
this.loadingName = name
})
},
}
</script>

  

//child.vue
<template>
<!-- code... -->
</template> <script>
import eventScope from "./EventBus";//引入事件总线(EventBus)
export default {
name: 'detail',
data: function () {
return { }
},
computed: {},
props: { },
methods: {
searchEnterFunc() {
// code..
// 请求前打开loading
eventScope.$emit("loading", true);
api.get(url, {
U_PurchaseNum: this.data.details.DocNum2
}).then(res => {
// code...
// 请求成功后关闭loading
eventScope.$emit("loading", false);
}).catch(err => {
// 请求失败后关闭loading
})
}
},
components: {},
mounted: function () {}
}
</script>

  

Vue.js 2.x中事件总线(EvevntBus)及element-ui中全屏loading的使用的更多相关文章

  1. 关于Element UI中页面样式小问题

    一,修改组件dialog窗口的大小 二,在我使用upload组件上传一张美女图片时,发现当预览图片时,图片是灰色的,点击一下才会变亮,这种效果使我很不舒服,于是我通过添加下面的一条样式,问题解决了(可 ...

  2. Element UI 中组件this.$message报错

    最近在做毕设的时候,用Element UI中的消息提示message一直报以下的错误: 展示的效果也不好看,没有图标什么的: 但我明明有在main.js引入了element-ui 呀,因为毕设时间很赶 ...

  3. 关于Element UI中select组件中遇到的问题

    问题一:在使用select组件设置多选功能后,窗口抖动问题? 详细描述:在我使用select做多选的功能时出现了窗口抖动的问题,测试的时候发现,在有些人的电脑上抖动,有些人的电脑上不抖,找了很多文档, ...

  4. vue.js(5)--事件修饰符

    vue中的事件修饰符(.stop..prevent..self..capture..once) (1)实例代码 <!DOCTYPE html> <html lang="en ...

  5. vue.js引用出错-script代码块放在head和body中的区别

    这篇随笔是为了记录vue.js引用出错的原因,看到最后原来是vue.js代码放在head中不能正常使用,要最后发现要将其放在body中才行... 原来是js代码放在head和body中的区别问题,占个 ...

  6. vue.js click点击事件获取当前元素对象

    Vue.js可以传递$event对象 <body id="app"> <ul> <li v-on:click="say('hello!', ...

  7. vue使用自定义指令v-dialogDrag来控制element ui中el-dialog的拖动缩放,拉伸问题

    1 在vue的utils中新建一个dialogDrag.js import Vue from 'vue' Vue.directive('dialogDrag', { bind(el, binding, ...

  8. vue+element ui中select组件选择失效问题原因与解决方法

    codejing 2020-07-10 09:13:31  652  收藏 分类专栏: Web Vue Element UI 版权 .当表单form赋完值后,如果后续又对form中某一属性值进行操作如 ...

  9. element ui 中的 resetFields() 报错'resetFields' of undefined

    每次做各种form表单时,首先要注意的是初始化,但是刚开始若没有仔细看文档,则会自己写个方法将数据设置为空,但是这样就会出现一个问题,表单内存在各种验证,假如是一个弹框内有form表单,弹框出现就执行 ...

随机推荐

  1. getOwnPropertyNames() & keys()

    1.getOwnPropertyNames方法可以获得对象的所有属性名,并储存于一个数组当中. keys方法只能获取可遍历的属性名并储存于数组. 2.在完成notepad模块模拟的过程中使用了getO ...

  2. 搭建FastDFS

    ---恢复内容开始--- FastDFS是用c语言编写的一款开源的分布式文件系统.FastDFS为互联网量身定制,充分考虑了冗余备份.负载均衡.线性扩容等机制,并注重高可用.高性能等指标,使用Fast ...

  3. Mahout实现的算法

    在Mahout实现的机器学习算法见下表 算法类 算法名 中文名 分类算法 Logistic Regression 逻辑回归 Bayesian 贝叶斯 SVM 支持向量机 Perceptron 感知器算 ...

  4. 青岛网络赛J-Press the button【暴力】

    Press the Button Time Limit: 1 Second      Memory Limit: 131072 KB BaoBao and DreamGrid are playing ...

  5. 虚拟机中CentoOs配置ip且连网

    1.修改"VMware Network Adapter VMnet8",配置IP 2.打开虚拟机,"编辑" => "虚拟网络编辑器", ...

  6. tensorflow和python操作中的笔记

    前一段时间做了一些项目,把一些笔记放在了txt中,现分享出来,自己也能够时长预习. 1) 读取文件时,将固定的文件地址,采用数组或者字符串的形式,提前表示出来,后期使用时候采用拼接操作 2) # 得到 ...

  7. Oracle HA 之 OGG部署流水

    1.GG组件及其功能简介:    manager进程:总管其他所以进程及处理相应GGSCI命令.    capture进程:从源端的联机日志文件或归档日志文件抓取commit的信息.    sourc ...

  8. 理论实践:循序渐进理解AWR细致入微分析性能报告

    1. AWR 概述 Automatic Workload Repository(AWR) 是10g引入的一个重要组件.在里面存贮着近期一段时间内(默认是7天)数据库活动状态的详细信息. AWR 报告是 ...

  9. rk3188 公板调试记录

    打开ccache后编译android果然快很多. make rk3188_sdk_defconfig 触摸屏有问题,然后再吧input底下的touchscreen 屏蔽掉     james@jame ...

  10. I/O排查命令

    I/O可以说是问题大户,线上的问题经常都是它引起的,很多人却不知道怎么定位这种问题.今天简单介绍一下,在此抛砖引玉. 此类问题我们一般分三步定位:按系统级I/O.进程级I/O.业务级I/O定位即可,一 ...