详解微信小程序中组件通讯


Posted in Javascript onOctober 30, 2018

这篇主要讲组件通讯

(1)父组件向子组件传值:

<header title='{{title}}' bind:fn='fn' id='header'></header>

通过title='{{title}}'传向子组件向子组件传递参数

子组件接收参数:

Component({
 properties: {
  title: {    // 属性名 type: Number, // 类型(必填)
   type: String,//目前接受的类型包括:String, Number, Boolean, Object, Array, null(表示任意类型)
  },
  fn: {   
   type: Function,
  },
 },
 data: {
    
 },
 methods: {
  // 子组件调用父组件方法
  childFn() {
   console.log(this.data.title)
   this.triggerEvent("fn");
   //triggerEvent函数接受三个值:事件名称、数据、选项值 
  }
 }
})

methods使用title时 this.data.title 直接就可以获取到

通过 bind:fn='fn'传向子组件向子组件传递方法

方法同样也要在properties接收,methods里定义一个新方法, this.triggerEvent("fn") 接收父组件传递过来的方法

(2)父组件调用子组件数据及方法:

首先在父组件js onReady 生命周期中获取到组件

onReady: function () {
  //获得popup组件
  this.header= this.selectComponent("#header");
},

比如要调用子组件的一个function方法

// 调用子组件方法
 fn(){
  this.header.fn() //子组件的方法
 },

调用子组件数据的话直接 this.header.msg 就可以拿到子组件的数据

Javascript 相关文章推荐
学习ExtJS TextField常用方法
Oct 07 Javascript
javascript 日期时间 转换的方法
Feb 21 Javascript
纯JS实现动态时间显示代码
Feb 08 Javascript
cocos2dx骨骼动画Armature源码剖析(三)
Sep 08 Javascript
JS判断字符串字节数并截取长度的方法
Mar 05 Javascript
微信小程序 rpx 尺寸单位详细介绍
Oct 13 Javascript
Javascript使用uploadify来实现多文件上传
Nov 16 Javascript
angular4模块中给标签添加背景图的实现方法
Sep 15 Javascript
vue中路由参数传递可能会遇到的坑
Dec 07 Javascript
layui select动态添加option的实例
Mar 07 Javascript
微信小程序实现限制用户转发功能的实例代码
Feb 22 Javascript
uniapp微信小程序:key失效的解决方法
Jan 20 Javascript
vue移动端项目缓存问题实践记录
Oct 29 #Javascript
vue 使用vue-i18n做全局中英文切换的方法
Oct 29 #Javascript
Element-UI踩坑之Pagination组件的使用
Oct 29 #Javascript
vue-router权限控制(简单方式)
Oct 29 #Javascript
详解Vue项目在其他电脑npm run dev运行报错的解决方法
Oct 29 #Javascript
Vue项目自动转换 px 为 rem的实现方法
Oct 29 #Javascript
vue 本地服务不能被外部IP访问的完美解决方法
Oct 29 #Javascript
You might like
php5 and xml示例
2006/11/22 PHP
JS获取scrollHeight问题想到的标准问题
2007/05/27 Javascript
Javascript 判断Flash是否加载完成的代码
2010/04/12 Javascript
JavaScript 计算图片加载数量的代码
2011/01/01 Javascript
js中将URL中的参数提取出来作为对象的实现代码
2011/08/16 Javascript
JavaScript高级程序设计(第3版)学习笔记10 再访js对象
2012/10/11 Javascript
js简单的表格添加行和删除行操作示例
2014/03/31 Javascript
js监听鼠标点击和键盘点击事件并自动跳转页面
2014/09/24 Javascript
JavaScript中匿名函数用法实例
2015/03/23 Javascript
js判断文本框输入的内容是否为数字
2015/12/23 Javascript
使用JS正则表达式 替换括号,尖括号等
2016/11/29 Javascript
jQuery Ajax前后端使用JSON进行交互示例
2017/03/17 Javascript
ES6解构赋值实例详解
2017/10/31 Javascript
Nodejs libuv运行原理详解
2019/08/21 NodeJs
使用jquery实现轮播图效果
2021/01/02 jQuery
[01:18]DOTA2超级联赛专访hanci ForLove淘汰感言曝光
2013/06/04 DOTA
[39:11]DOTA2上海特级锦标赛C组资格赛#2 LGD VS Newbee第二局
2016/02/28 DOTA
django创建自定义模板处理器的实例详解
2017/08/14 Python
Python字典循环添加一键多值的用法实例
2019/01/20 Python
Python实现的爬取百度文库功能示例
2019/02/16 Python
Python参数传递机制传值和传引用原理详解
2020/05/22 Python
Python无损压缩图片的示例代码
2020/08/06 Python
让IE可以变相支持CSS3选择器
2010/01/21 HTML / CSS
Shell编程面试题
2012/05/30 面试题
车间班组长岗位职责
2013/11/13 职场文书
护理专业学生的求职信范文
2013/12/11 职场文书
工商管理毕业生推荐信
2013/12/24 职场文书
天鹅的故事教学反思
2014/02/04 职场文书
化妆品促销方案
2014/02/24 职场文书
大学生怎样写好自荐信
2014/02/25 职场文书
贺卡寄语大全
2014/04/11 职场文书
校庆标语集锦
2014/06/25 职场文书
党支部三严三实对照检查材料思想汇报
2014/09/29 职场文书
工程进度款催款函
2015/06/24 职场文书
JavaScript 事件捕获冒泡与捕获详情
2021/11/11 Javascript
Golang 字符串的常见操作
2022/04/19 Golang