vue-cli 使用vue-bus来全局控制的实例讲解


Posted in Javascript onSeptember 15, 2018

讲真,我写标题的时候不知道怎么写的好,之前写过一篇关于vue-bus的,不过是基础版本的,今天讲的是用脚手架来搭建的环境下的使用
与使用路由相似,我们需要先倒入这个vue-bus

指令如下:

npm install vue-bus

vue-cli 使用vue-bus来全局控制的实例讲解

导入成功后,我们就要去使用它,(还是参考路由)

我们在代码中写下:

<code class="language-html">import bus from "vue-bus" 
Vue.use(bus); 
 
</code>

是的,这跟路由很想,这点无需怀疑,接着我们可以参考下我上回的那个模板。依旧是三部曲,现在我们已经完成了部署环境这一步,接着是要去提交(emit方法)

this.$bus.$emit("password", this.password);

但是,这里要注意一点,就是作用域的问题,(es5写法下)。比如在下面代码中:

methods1: function(a) {
  console.log(a);
  var _this = this;
  //转化为base64,并且显示在页面上
  console.log(a.target.files[0]);
  var image = new Image();
  var reader = new FileReader();
  reader.readAsDataURL(a.target.files[0]);
  reader.onload = function(e) {
   console.log(e.target.result);
   _this.imglist[a.target.dataset.index].img = e.target.result;
  }
  },

上方代码是一段将file转化为base64的代码。其中,当我们在最外层使用this的时候,他的指向是我们想要的,包含这个组件的this,但是当我们在onload函数中使用this,那就嘻嘻了,所以这些由于自己不小心踏入的坑要避免

接着我们上去获取我们所要的信息,依旧是用on方法(相似的,如果是使用once方法。则是只有一次)

很多情况下,由于on方法是去监听,所以我们是要越早定义越好,所以基本都是在created中定义

created: function() {
  console.log(this.showinfo);
  var _this = this;
  this.$bus.$on("changes", function(a, b) {
  console.log(_this.showinfo);
  //this.showinfo[0].text="2017-00-00";
  _this.showinfo = [{ text: "生日", value: "2017-01-01" }, { text: "星座", value: "白羊座" }, { text: "职业", value: "IT" }]
  }, );
  _this.$bus.$on("showmyticket", function() { 
  _this.isshowbarrage_black=true;
  _this.isshowmyticket=true;
  });
 },

其中应该都注意到了,这里依旧是那个坑的问题,如果不这样做,我们在使用过后可能会出现这个现象

vue-cli 使用vue-bus来全局控制的实例讲解

这就是bug大的出生原因了,这时候我们就要考虑作用域的问题了

vue-cli 使用vue-bus来全局控制的实例讲解

基本就是这些。而且相对于vuex,vue-bus更简单,而且不会再局限于兄弟组件之间,而且在父子级别中也可以使用,但是请小心,因为他是监听状态,所以使用emit的时候要谨慎,当然,我也不强制要求你去销毁这个bus,希望大家都多去试试。

以上这篇vue-cli 使用vue-bus来全局控制的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
PHP+jQuery+Ajax实现多图片上传效果
Mar 14 Javascript
js方法数据验证的简单实例
Sep 17 Javascript
基于Bootstrap的网页设计实例
Mar 01 Javascript
JavaScript运动框架 多物体任意值运动(三)
May 17 Javascript
react开发教程之React 组件之间的通信方式
Aug 12 Javascript
jQuery动态添加.active 实现导航效果代码思路详解
Aug 29 jQuery
浅析Vue自定义组件的v-model
Nov 26 Javascript
vue 引入公共css文件的简单方法(推荐)
Jan 20 Javascript
JavaScript实现仿Clock ISO时钟
Jun 29 Javascript
vue axios数据请求及vue中使用axios的方法
Sep 10 Javascript
Vue中axios的封装(报错、鉴权、跳转、拦截、提示)
Aug 20 Javascript
vue开发移动端底部导航条功能
Apr 08 Javascript
在vue中实现点击选择框阻止弹出层消失的方法
Sep 15 #Javascript
对vue下点击事件传参和不传参的区别详解
Sep 15 #Javascript
vue-cli webpack 引入swiper的操作方法
Sep 15 #Javascript
swiper在vue项目中loop循环轮播失效的解决方法
Sep 15 #Javascript
解决vue中虚拟dom,无法实时更新的问题
Sep 15 #Javascript
js事件on动态绑定数据,绑定多个事件的方法
Sep 15 #Javascript
vue 的点击事件获取当前点击的元素方法
Sep 15 #Javascript
You might like
在MongoDB中模拟Auto Increment的php代码
2011/03/06 PHP
ThinkPHP3.1新特性之对Ajax的支持更加完善
2014/06/19 PHP
ThinkPHP5.1+Ajax实现的无刷新分页功能示例
2020/02/10 PHP
php中用unset销毁变量并释放内存
2020/05/10 PHP
Firefox window.close()的使用注意事项
2009/04/11 Javascript
基于Asp.net与Javascript控制的日期控件
2010/05/22 Javascript
详解JS 比较两个Json对象的值是否相等的实例
2013/11/20 Javascript
javascript中的this详解
2014/12/08 Javascript
avalonjs制作响应式瀑布流特效
2015/05/06 Javascript
Ionic如何创建APP项目
2016/06/03 Javascript
jquery实现input框获取焦点的简单实例
2017/01/26 Javascript
Nodejs高扩展性的模板引擎 functmpl简介
2017/02/13 NodeJs
AngularJS前端页面操作之用户修改密码功能示例
2017/03/27 Javascript
Webstorm2016使用技巧(SVN插件使用)
2018/10/29 Javascript
基于游标的分页接口实现代码示例
2018/11/12 Javascript
Element Steps步骤条的使用方法
2020/07/26 Javascript
jQuery实现动态操作table行
2020/11/23 jQuery
Python实现解析Bit Torrent种子文件内容的方法
2017/08/29 Python
tensorflow TFRecords文件的生成和读取的方法
2018/02/06 Python
在Python中构建增广矩阵的实现方法
2019/07/01 Python
python实现一个函数版的名片管理系统过程解析
2019/08/27 Python
如何打包Python Web项目实现免安装一键启动的方法
2020/05/21 Python
keras CNN卷积核可视化,热度图教程
2020/06/22 Python
你不知道的葡萄干处理法、橙蜜处理法、二氧化碳酵母法
2021/03/17 冲泡冲煮
Helly Hansen工作服美国官方网上商店:为最恶劣的环境
2019/09/04 全球购物
JAVA的事件委托机制和垃圾回收机制
2014/09/07 面试题
描述Cookie和Session的作用,区别和各自的应用范围,Session工作原理
2015/03/25 面试题
《挑山工》的教学反思
2014/02/16 职场文书
文明寄语大全
2014/04/11 职场文书
小学英语复习计划
2015/01/19 职场文书
财务出纳岗位职责
2015/03/31 职场文书
小学生家长意见
2015/06/03 职场文书
2015年行政管理人员工作总结
2015/10/15 职场文书
2016党员读书思廉心得体会
2016/01/23 职场文书
Python利用Turtle绘制哆啦A梦和小猪佩奇
2022/04/04 Python
Python first-order-model实现让照片动起来
2022/06/25 Python