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


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之更有效率的字符串替换
Aug 02 Javascript
Javascript 变量作用域 两个可能会被忽略的小特性
Mar 23 Javascript
jQuery调用WebService的实现代码
Jun 19 Javascript
js 跳出页面的frameset框架示例介绍
Dec 23 Javascript
20条学习javascript的编程规范的建议
Nov 28 Javascript
Node.js巧妙实现Web应用代码热更新
Oct 22 Javascript
教你如何终止JQUERY的$.AJAX请求
Feb 23 Javascript
Bootstrap基本插件学习笔记之按钮(21)
Dec 08 Javascript
Node.js利用Net模块实现多人命令行聊天室的方法
Dec 23 Javascript
Vue父组件调用子组件事件方法
Feb 23 Javascript
node微信开发之获取access_token+自定义菜单
Mar 17 Javascript
vue中使用element ui的弹窗与echarts之间的问题详解
Oct 25 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开发框架总结收藏
2008/04/24 PHP
php列出一个目录下的所有文件的代码
2012/10/09 PHP
php图片加水印原理(超简单的实例代码)
2013/01/18 PHP
使用PHP获取当前url路径的函数以及服务器变量
2013/06/29 PHP
phpstrom使用xdebug配置方法
2013/12/17 PHP
tp5.1 框架查询表达式用法详解
2020/05/25 PHP
jquery监控数据是否变化(修正版)
2011/04/12 Javascript
node.js Web应用框架Express入门指南
2014/05/28 Javascript
jquery+ajax验证不通过也提交表单问题处理
2014/12/12 Javascript
JavaScript学习笔记之JS对象
2015/01/22 Javascript
JavaScript中的继承方式详解
2015/02/11 Javascript
浅谈jquery选择器 :first与:first-child的区别
2016/11/20 Javascript
Bootstrap table简单使用总结
2017/02/15 Javascript
javascript遍历json对象的key和任意js对象属性实例
2017/03/09 Javascript
JavaScript实现旋转轮播图
2020/08/18 Javascript
BetterScroll 在移动端滚动场景的应用
2017/09/18 Javascript
vue基于better-scroll仿京东分类列表
2020/06/30 Javascript
[19:26]TNC vs EG (BO3)
2018/06/07 DOTA
Python Web框架Flask下网站开发入门实例
2015/02/08 Python
在Python的Flask框架中使用日期和时间的教程
2015/04/21 Python
python3 模拟登录v2ex实例讲解
2017/07/13 Python
基于python 字符编码的理解
2017/09/02 Python
python opencv 图像尺寸变换方法
2018/04/02 Python
Python爬虫基础之XPath语法与lxml库的用法详解
2018/09/13 Python
Pytorch之parameters的使用
2019/12/31 Python
Maison Lab荷兰:名牌Outlet购物
2018/08/10 全球购物
本科生个人求职自荐信
2013/09/26 职场文书
会计顶岗实习心得
2014/01/25 职场文书
2014年高考决心书
2014/03/11 职场文书
环境卫生标语
2014/06/09 职场文书
广告业务员岗位职责
2015/02/13 职场文书
消防隐患整改通知书
2015/04/22 职场文书
拖欠货款起诉状
2015/05/20 职场文书
中学总务处工作总结
2015/08/12 职场文书
高质量“欢迎词”
2019/04/03 职场文书
Python实现灰色关联分析与结果可视化的详细代码
2022/03/25 Python