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


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表格常用操作方法汇总
Apr 15 Javascript
Javascript中replace()小结
Sep 30 Javascript
谈谈jQuery之Deferred源码剖析
Dec 19 Javascript
js实现微博发布小功能
Jan 12 Javascript
JS实现多张图片预览同步上传功能
Jun 23 Javascript
js代码规范之Eslint安装与配置详解
Sep 08 Javascript
Vue动态组件和异步组件原理详解
May 06 Javascript
json数据格式常见操作示例
Jun 13 Javascript
vue中使用极验验证码的方法(附demo)
Dec 04 Javascript
Jquery使用each函数实现遍历及数组处理
Jul 14 jQuery
微信小程序绘制半圆(弧形)进度条
Nov 18 Javascript
Vue2.0搭建脚手架
Mar 13 Vue.js
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函数microtime()用法与说明
2013/12/04 PHP
PHP程序漏洞产生的原因分析与防范方法说明
2014/03/06 PHP
PHP 面向对象程序设计(oop)学习笔记(一) - 抽象类、对象接口、instanceof 和契约式编程
2014/06/12 PHP
php使用Jpgraph创建折线图效果示例
2017/02/15 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
2020/03/26 PHP
jQuery下的几个你可能没用过的功能
2010/08/29 Javascript
基于jquery实现状态限定编辑的代码
2012/02/11 Javascript
JS下拉缓冲菜单示例代码
2013/08/30 Javascript
用JavaScript实现对话框的教程
2015/06/04 Javascript
java中String类型变量的赋值问题介绍
2016/03/23 Javascript
常用原生JS兼容性写法汇总
2016/04/27 Javascript
Bootstrap实现input控件失去焦点时验证
2016/08/04 Javascript
详解nodejs 文本操作模块-fs模块(三)
2016/12/22 NodeJs
利用javascript实现的三种图片放大镜效果实例(附源码)
2017/01/23 Javascript
Echarts动态加载多条折线图的实现代码
2019/05/24 Javascript
解决vuecli3中img src 的引入问题
2020/08/04 Javascript
基于vuex实现购物车功能
2021/01/10 Vue.js
Javascript实现打鼓效果
2021/01/29 Javascript
Python中MYSQLdb出现乱码的解决方法
2014/10/11 Python
以Flask为例讲解Python的框架的使用方法
2015/04/29 Python
简单理解Python中的装饰器
2015/07/31 Python
关于Python如何避免循环导入问题详解
2017/09/14 Python
python实现读取excel写入mysql的小工具详解
2017/11/20 Python
Python队列RabbitMQ 使用方法实例记录
2019/08/05 Python
Django实现WebSSH操作物理机或虚拟机的方法
2019/11/06 Python
python爬取天气数据的实例详解
2020/11/20 Python
深入探究HTML5的History API
2015/07/09 HTML / CSS
印度最大的时尚购物网站:Myntra
2018/09/13 全球购物
机电一体化应届生求职信范文
2014/01/24 职场文书
精彩的英文自荐信
2014/01/30 职场文书
市场营销求职信范文
2014/02/21 职场文书
小学优秀学生评语
2014/12/29 职场文书
村党组织公开承诺书
2015/04/30 职场文书
物业保洁员管理制度
2015/08/05 职场文书
MySQL库表名大小写的选择
2021/06/05 MySQL
Redis实战之Lettuce的使用技巧详解
2022/12/24 Redis