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 相关文章推荐
javascript 一些用法小结
Sep 11 Javascript
JQuery下关于$.Ready()的分析
Dec 13 Javascript
Javascript中的Array数组对象详谈
Mar 03 Javascript
js实现通用的微信分享组件示例
Mar 10 Javascript
JavaScript 学习笔记之基础中的基础
Jan 13 Javascript
JavaScript基本数据类型及值类型和引用类型
Aug 25 Javascript
引入JavaScript时alert弹出框显示中文乱码问题
Sep 16 Javascript
vue+element UI实现树形表格带复选框的示例代码
Apr 16 Javascript
Bootstrap 时间日历插件bootstrap-datetimepicker配置与应用小结
May 28 Javascript
JavaScript展开操作符(Spread operator)详解
Jul 20 Javascript
基于layui的下拉列表的数据回显方法
Sep 24 Javascript
jquery实现的放大镜效果示例
Feb 24 jQuery
在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
一个用于mysql的数据库抽象层函数库
2006/10/09 PHP
生成sessionid和随机密码的例子
2006/10/09 PHP
php 无限极分类
2008/03/27 PHP
详解PHP对象的串行化与反串行化
2016/01/24 PHP
php实现生成验证码实例分享
2016/04/10 PHP
php中mkdir()函数的权限问题分析
2016/09/24 PHP
laravel Model 执行事务的实现
2019/10/10 PHP
JavaScript中的apply()方法和call()方法使用介绍
2012/07/25 Javascript
jquery 事件冒泡的介绍以及如何阻止事件冒泡
2012/12/25 Javascript
JavaScript中的比较操作符&gt;、=、
2014/12/31 Javascript
通过设置CSS中的position属性来固定层的位置
2015/12/14 Javascript
JS实现左右无缝轮播图代码
2016/05/01 Javascript
关于JavaScript限制字数的输入框的那些事
2016/08/14 Javascript
js微信支付实现代码
2016/12/22 Javascript
js实现日历的简单算法
2017/01/24 Javascript
AngularJS动态绑定ng-options的ng-model实例代码
2017/06/21 Javascript
JavaScript函数、闭包、原型、面向对象学习笔记
2018/09/06 Javascript
vue获取时间戳转换为日期格式代码实例
2019/04/17 Javascript
vue中在vuex的actions中请求数据实例
2019/11/08 Javascript
three.js利用卷积法如何实现物体描边效果
2019/11/27 Javascript
Sublime Text3 配置 NodeJs 环境的方法
2020/05/20 NodeJs
[40:03]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#1EHOME VS Archon
2016/03/02 DOTA
详解Python中for循环的使用方法
2015/05/14 Python
CentOS中使用virtualenv搭建python3环境
2015/06/08 Python
在Python的Django框架中包装视图函数
2015/07/20 Python
对Python 除法负数取商的取整方式详解
2018/12/12 Python
python pip源配置,pip配置文件存放位置的方法
2019/07/12 Python
python中web框架的自定义创建
2019/09/08 Python
基于python实现图片转字符画代码实例
2020/09/04 Python
No module named ‘win32gui‘ 的解决方法(踩坑之旅)
2021/02/18 Python
澳大利亚儿童精品仓库:Goo & Co.
2019/06/20 全球购物
Java的类与C++的类有什么不同
2014/01/18 面试题
美术学专业求职信
2014/07/23 职场文书
城管执法人员个人对照检查材料思想汇报
2014/09/29 职场文书
社区五一劳动节活动总结
2015/02/09 职场文书
2015年教师节活动总结
2015/03/20 职场文书