Vue组件间的通信pubsub-js实现步骤解析


Posted in Javascript onMarch 11, 2020

本文介绍使用发布订阅的方式进行vue组件间的通信

我认为这种方式比较自由, 不存在组件间的关系问题

1. 首先安装pubsub-js

npm install --save pubsub-js

2. 订阅方组件

import PubSub from 'pubsub-js'

mounted(){ // 执行异常代码
 // 订阅消息
 PubSub.subscribe('deleteTodo',(msg,index)=>{
  this.deleteTodo(index) // 调用deleteTodo方法执行真正的业务逻辑
 });
},

3. 发布方组件

<script>
 import PubSub from 'pubsub-js'
 export default{
  methods: {
   handlerEnter(isEnter){
    if (isEnter) {
     this.bgColor = 'gray';
     this.isShow = true;
    } else {
     this.bgColor = 'white';
     this.isShow = false;
    }
   },
   deleteItem(){
    // 表示从this对象中取出todo,index,deleteTodo三个对象
    const {todo, index, deleteTodo} = this
    if (window.confirm(`确认删除${todo.title}吗?`)) {
     // 发布消息
     PubSub.publish('deleteTodo', index); //deleteTodo一定要与订阅方名称一样,index是通信的具体数据
 
    }
 
   }
  }
 }
</script>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
5个javascript的数字格式化函数分享
Dec 07 Javascript
onkeypress字符按键兼容所有浏览器使用介绍
Apr 24 Javascript
js定时器的使用(实例讲解)
Jan 06 Javascript
Javascript学习指南
Dec 01 Javascript
jQuery实现鼠标滚轮动态改变样式或效果
Jan 05 Javascript
javascript中使用正则表达式清理table样式的代码
Apr 01 Javascript
Angular 4依赖注入学习教程之InjectToken的使用(八)
Jun 04 Javascript
bootstrap select下拉搜索插件使用方法详解
Nov 23 Javascript
Bootstrap Fileinput 4.4.7文件上传实例详解
Jul 25 Javascript
vue里如何主动销毁keep-alive缓存的组件
Mar 21 Javascript
vue-resourc发起异步请求的方法
Feb 11 Javascript
es6数组includes()用法实例分析
Apr 18 Javascript
Vue事件处理原理及过程详解
Mar 11 #Javascript
Vue项目结合Vue-layer实现弹框式编辑功能(实例代码)
Mar 11 #Javascript
使用Node.js实现base64和png文件相互转换的方法
Mar 11 #Javascript
vue 移动端记录页面浏览位置的方法
Mar 11 #Javascript
Js逆向实现滑动验证码图片还原的示例代码
Mar 10 #Javascript
微信小程序获取公众号文章列表及显示文章的示例代码
Mar 10 #Javascript
jquery实现烟花效果(面向对象)
Mar 10 #jQuery
You might like
PHP将HTML转换成文本的实现代码
2015/01/21 PHP
Laravel 5 框架入门(一)
2015/04/09 PHP
Zend Framework教程之请求对象的封装Zend_Controller_Request实例详解
2016/03/07 PHP
PHP+Session防止表单重复提交的解决方法
2018/04/09 PHP
laravel框架的安装与路由实例分析
2019/10/11 PHP
超轻量级的基于jquery的三级展开列表
2011/04/26 Javascript
关于JS判断图片是否加载完成且获取图片宽度的方法
2013/04/09 Javascript
[将免费进行到底]在Amazon的一年免费服务器上安装Node.JS, NPM和OurJS博客
2014/08/18 Javascript
探寻Javascript执行效率问题
2014/11/12 Javascript
Javascript中prototype属性实现给内置对象添加新的方法
2015/05/14 Javascript
jQuery中extend函数详解
2015/07/13 Javascript
Angularjs 与 bower安装和使用详解
2017/05/11 Javascript
微信小程序开发之好友列表字母列表跳转对应位置
2017/09/26 Javascript
vue移动端弹框组件的实例
2018/09/25 Javascript
webpack中如何使用雪碧图的示例代码
2018/11/11 Javascript
vue组件之间通信方式实例总结【8种方式】
2019/02/22 Javascript
微信小程序开发实现的IP地址查询功能示例
2019/03/28 Javascript
JS字符串和数组如何实现相互转化
2020/07/02 Javascript
关于vue-cli3打包代码后白屏的解决方案
2020/09/02 Javascript
python使用内存zipfile对象在内存中打包文件示例
2014/04/30 Python
python多重继承实例
2014/10/11 Python
Python OpenCV 直方图的计算与显示的方法示例
2018/02/08 Python
Django实现分页显示效果
2019/10/31 Python
python实现的批量分析xml标签中各个类别个数功能示例
2019/12/30 Python
Python如何实现小程序 无限求和平均
2020/02/18 Python
python安装第三方库如xlrd的方法
2020/10/31 Python
如何将Pycharm中调整字体大小的方式设置为&quot;ctrl+鼠标滚轮上下滑&quot;
2020/11/17 Python
HTML5 语音搜索只需一句代码
2013/01/03 HTML / CSS
Jacques Lemans德国:奥地利钟表品牌
2019/12/26 全球购物
优秀少先队大队辅导员事迹材料
2014/05/04 职场文书
酒店开业庆典策划方案
2014/05/28 职场文书
2014年民主评议党员个人总结
2014/09/24 职场文书
2015秋季幼儿园开学通知
2015/07/16 职场文书
表扬稿表扬信的格式及范文
2019/06/24 职场文书
人生一定要学会的三样东西:放下、忘记、珍惜
2019/08/21 职场文书
原生JS中应该禁止出现的写法
2021/05/05 Javascript