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


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 相关文章推荐
firefox 和 ie 事件处理的细节,研究,再研究 书写同时兼容ie和ff的事件处理代码
Apr 12 Javascript
基于jQuery图片平滑连续滚动插件
Apr 27 Javascript
兼容IE和Firefox的javascript获取iframe文档内容的函数
Aug 15 Javascript
jQuery 过滤not()与filter()实例代码
May 10 Javascript
jquery操作对象数组元素方法详解
Nov 26 Javascript
javascript实现在指定元素中垂直水平居中
Sep 13 Javascript
Javascript中replace()小结
Sep 30 Javascript
js两种拼接字符串的简单方法(必看)
Sep 02 Javascript
dul无法加载bootstrap实现unload table/user恢复
Sep 29 Javascript
jquery dialog获取焦点的方法
Feb 09 Javascript
基于canvas的二维码邀请函生成插件
Feb 14 Javascript
angular6 填坑之sdk的方法
Dec 27 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
php生成的html meta和link标记在body标签里 顶部有个空行
2010/05/18 PHP
php+MySQL实现登录时验证登录名和密码是否正确
2016/05/10 PHP
PHP面向对象程序设计继承用法简单示例
2018/12/28 PHP
phpfpm的作用和用法
2019/10/10 PHP
Laravel 模型使用软删除-左连接查询-表起别名示例
2019/10/24 PHP
JQuery困惑—包装集 DOM节点
2009/10/16 Javascript
html5的自定义data-*属性和jquery的data()方法的使用示例
2013/08/21 Javascript
JSON传递bool类型数据的处理方式介绍
2013/09/18 Javascript
Underscore.js常用方法总结
2015/02/28 Javascript
Jquery常用的方法汇总
2015/09/01 Javascript
深入剖析JavaScript:Object类型
2016/05/10 Javascript
ReactNative短信验证码倒计时控件的实现代码
2017/07/20 Javascript
微信小程序实现根据字母选择城市功能
2017/08/16 Javascript
Node.js readline 逐行读取、写入文件内容的示例
2018/03/01 Javascript
vue+webpack中配置ESLint
2018/11/07 Javascript
VUE2.0+ElementUI2.0表格el-table循环动态列渲染的写法详解
2018/11/30 Javascript
Vue学习之常用指令实例详解
2020/01/06 Javascript
[02:18]DOTA2英雄基础教程 育母蜘蛛
2014/01/20 DOTA
[01:10]DOTA2次级职业联赛 - Fly战队宣传片
2014/12/01 DOTA
[01:18]PWL开团时刻DAY10——一拳超人
2020/11/11 DOTA
python去除拼音声调字母,替换为字母的方法
2018/11/28 Python
Python爬虫抓取技术的一些经验
2019/07/12 Python
pytorch 中pad函数toch.nn.functional.pad()的用法
2020/01/08 Python
Python网络爬虫四大选择器用法原理总结
2020/06/01 Python
如何使用pycharm连接Databricks的步骤详解
2020/09/23 Python
Adobe Html5 Extension开发初体验图文教程
2017/11/14 HTML / CSS
canvas压缩图片以及卡片制作的方法示例
2018/12/04 HTML / CSS
Expedia意大利旅游网站:酒店、机票和租车预订
2017/10/30 全球购物
八一建军节部队活动方案
2014/02/04 职场文书
投资合作协议书范本
2014/04/17 职场文书
美术专业自荐信
2014/07/07 职场文书
2014年班组工作总结
2014/11/20 职场文书
2015年党风廉政承诺书
2015/01/22 职场文书
婚宴新娘致辞
2015/07/28 职场文书
Python实现机器学习算法的分类
2021/06/03 Python
Win10服务主机占用内存怎么办?Win10服务主机进程占用大量内存解决方法
2022/09/23 数码科技