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


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 全角转换实现代码
Jul 17 Javascript
innerHTML 和 getElementsByName 在IE下面的bug 的解决
Apr 09 Javascript
js 禁止选择功能实现代码(兼容IE/Firefox)
Apr 23 Javascript
用js解决数字不能换行问题
Aug 10 Javascript
基于jquery的文字向上跑动类似跑马灯的效果
Sep 22 Javascript
JS实现判断滚动条滚到页面底部并执行事件的方法
Dec 18 Javascript
JavaScript与ActionScript3两者的同性与差异性
Sep 22 Javascript
微信小程序  简单实例(阅读器)的实例开发
Sep 29 Javascript
巧用weui.topTips验证数据的实例
Apr 17 Javascript
bootstrap timepicker在angular中取值并转化为时间戳
Jun 13 Javascript
vue 自定义 select内置组件
Apr 10 Javascript
vue-router传参用法详解
Jan 19 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中的登陆login
2007/01/18 PHP
PHP isset()与empty()的使用区别详解
2010/08/29 PHP
PHP数组函数知识汇总
2016/05/12 PHP
php计算多个集合的笛卡尔积实例详解
2017/02/16 PHP
PHP魔术方法之__call与__callStatic使用方法
2017/07/23 PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
2017/09/16 PHP
通过JS自动隐藏手机浏览器的地址栏实现原理与代码
2013/01/02 Javascript
js自定义事件及事件交互原理概述(一)
2013/02/01 Javascript
Jquery实现搜索框提示功能示例代码
2013/08/13 Javascript
js日期联动示例
2014/05/02 Javascript
jquery实现九宫格大转盘抽奖
2015/11/13 Javascript
微信小程序 POST请求(网络请求)详解及实例代码
2016/11/16 Javascript
老生常谈原生JS执行环境与作用域
2016/11/22 Javascript
servlet+jquery实现文件上传进度条示例代码
2017/01/25 Javascript
nodejs+mongodb+vue前后台配置ueditor的示例代码
2018/01/02 NodeJs
如何在js代码中消灭for循环实例详解
2018/07/29 Javascript
纯javascript实现选择框的全选与反选功能
2019/04/08 Javascript
详解基于 Node.js 的轻量级云函数功能实现
2019/07/08 Javascript
vue简单封装axios插件和接口的统一管理操作示例
2020/02/02 Javascript
使用IPython来操作Docker容器的入门指引
2015/04/08 Python
在Python中使用CasperJS获取JS渲染生成的HTML内容的教程
2015/04/09 Python
解析Python中的二进制位运算符
2015/05/13 Python
Python操作使用MySQL数据库的实例代码
2017/05/25 Python
使用apidoc管理RESTful风格Flask项目接口文档方法
2018/02/07 Python
python配置grpc环境
2019/01/01 Python
tensorflow指定GPU与动态分配GPU memory设置
2020/02/03 Python
python利用xlsxwriter模块 操作 Excel
2020/10/14 Python
python通用数据库操作工具 pydbclib的使用简介
2020/12/21 Python
CSS3中的clip-path使用攻略
2015/08/03 HTML / CSS
Weblogc domain问题
2014/01/27 面试题
班主任工作年限证明
2014/01/12 职场文书
学生会主席就职演讲稿
2014/01/14 职场文书
质量月活动策划方案
2014/03/10 职场文书
幼儿教师演讲稿
2014/05/06 职场文书
2014年军人思想汇报范文
2014/10/12 职场文书
Win11 Build 25179预览版发布(附更新内容+ISO官方镜像下载)
2022/08/14 数码科技