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


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 相关文章推荐
一个javascript图片阅览组件
Nov 09 Javascript
javascript测试题练习代码
Oct 10 Javascript
js截取小数点后几位的写法
Nov 14 Javascript
wap浏览自动跳转到wap页面的js代码
May 17 Javascript
window.returnValue使用方法示例介绍
Jul 03 Javascript
Bootstrap的Refresh Icon也spin起来
Jul 13 Javascript
JavaScript实现横线提示输入验证码随输入验证码输入消失的方法
Sep 24 Javascript
Vue组件化通讯的实例代码
Jun 23 Javascript
jQuery实现的文字逐行向上间歇滚动效果示例
Sep 06 jQuery
js中的闭包实例展示
Nov 01 Javascript
vue之a-table中实现清空选中的数据
Nov 07 Javascript
Antd表格滚动 宽度自适应 不换行的实例
Oct 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
提问的智慧(2)
2006/10/09 PHP
安装PHP可能遇到的问题“无法载入mysql扩展” 的解决方法
2007/04/16 PHP
PHP验证码类代码( 最新修改,完全定制化! )
2010/12/02 PHP
php生成与读取excel文件
2016/10/14 PHP
php将print_r处理后的数据还原为原始数组的解决方法
2016/11/02 PHP
php中isset与empty函数的困惑与用法分析
2019/07/05 PHP
laravel 关联关系遍历数组的例子
2019/10/10 PHP
IE不出现Flash激活框的小发现的js实现方法
2007/09/07 Javascript
js实现简单模态窗口,背景灰显
2008/11/14 Javascript
JSON JQUERY模板实现说明
2010/07/03 Javascript
js时间日期和毫秒的相互转换
2013/02/22 Javascript
JavaScript中的异常捕捉介绍
2014/12/31 Javascript
浅谈JavaScript Math和Number对象
2015/01/26 Javascript
原生JS下拉加载插件分享
2016/12/26 Javascript
移动端界面的适配
2017/01/11 Javascript
使用JavaScript根据图片获取条形码的方法
2017/07/04 Javascript
实例解析ES6 Proxy使用场景介绍
2018/01/08 Javascript
Vue使用JSEncrypt实现rsa加密及挂载方法
2020/02/07 Javascript
js+css3实现炫酷时钟
2020/08/18 Javascript
使用python实现rsa算法代码
2016/02/17 Python
基于asyncio 异步协程框架实现收集B站直播弹幕
2016/09/11 Python
如何在Python函数执行前后增加额外的行为
2016/10/20 Python
Python编程实现二叉树及七种遍历方法详解
2017/06/02 Python
运用Python的webbrowser实现定时打开特定网页
2019/02/21 Python
python 含子图的gif生成时内存溢出的方法
2019/07/07 Python
使用python3批量下载rbsp数据的示例代码
2019/12/20 Python
Python爬虫过程解析之多线程获取小米应用商店数据
2020/11/14 Python
整理HTML5中表单的常用属性及新属性
2016/02/19 HTML / CSS
连卡佛中国官网:Lane Crawford中文站
2018/01/27 全球购物
adidas澳大利亚官方网站:adidas Australia
2018/04/15 全球购物
全球最受追捧的运动服品牌领先数字目的地:Stylerunner
2020/11/25 全球购物
告诉你怎样写创业计划书
2014/01/27 职场文书
求职自我评价怎么写
2015/03/09 职场文书
2015年宣传工作总结
2015/04/08 职场文书
React自定义hook的方法
2022/06/25 Javascript
错误码NET::ERR_CERT_DATE_INVALID证书已过期解决方法?
2022/07/07 数码科技