父子组件之间有3种通信方式

1、属性绑定

用于父组件向子组件的指定属性设置数据,只能传递普通类型的数据,无法将方法传递给子组件

2、事件绑定

用于子组件向父组件传递数据,可以传递任意数据①在父组件的js中,定义一个函数,这个函数即将通过自定义事件的形式,传递给子组件②在父组件的wxml中,通过自定义事件的形式,将步骤①中定义的函数引用,传递给子组件③在子组件的js中,通过调用this.triggerEvent('自定义事件名称', {/*参数对象*/}),将数据发送到父组件④在父组件的js中,通过e.detail获取到子组件传递过来的数据

3、获取组件示例

父组件还可以通过this.selectComponent('id或class选择器') 获取子组件实例对象。直接访问子组件的任意数据和方法

1、属性绑定

创建组件

组件对外开放属性

properties: {count: Number
},

组件wxml

<view>子组件中count为:{{count}}</view>

页面

页面js
data: {count: 10
},
页面wxml
<view>父组件中的count为:{{count}}</view>
<my-test5 count="{{count}}"></my-test5>  //通过组件的count属性将值传入

2、事件绑定

页面js
syncCount(e){   //此参数用于接收子组件传递过来的数据console.log('syncCount'),console.log(e)    //输出子组件传递过来的值this.setData({count: e.detail.value    //使用子组件的值})
},
页面wxml
<view>父组件中的count为:{{count}}</view>
<my-test5 count="{{count}}" bind:sync="syncCount"></my-test5> <!-- 将方法通过自定义事件传给子组件 bind:事件名=方法名 -->
子组件js
methods: {addCount(){this.setData({count: this.properties.count+1}),this.triggerEvent('sync',{value: this.properties.count}) //调用父组件传递过来的方法并传值}
}

3、获取组件示例

页面wxml
<view>父组件中的count为:{{count}}</view>
<my-test5 count="{{count}}" bind:sync="syncCount" class="customA" id="cA"></my-test5>
<button bindtap="getChild">获取子组件的实例对象</button>
页面js
getChild(){const child = this.selectComponent('#cA')console.log(child)child.setData({count: child.properties.count+1})
},

微信小程序父子组件通信相关推荐

  1. 微信小程序父子组件通信详解

    1 父组件向子组件传递数据: 1.1 在父组件的文件夹中的.json文件下引入子组件 {"usingComponents": {//"Tab" 是自己定义的组件 ...

  2. 微信小程序父子组件传值问题

    微信小程序父子组件传值问题 把自己碰到的问题或者学到的东西在这里总结,慢慢积累 在父子组件传值时,我发现子组件竟然拿不到父组件传过来的值. 我指的拿不到父组件的值,是指在子组件的生命周期created ...

  3. 可以实现微信小程序父子组件实时通信的插件

    小程序在组件化开发的时候可能没有达到vue那样的便捷,例如跨组件状态同步等. 这个插件可以: 1.通过代理的方式,为小程序添加了跨组件实时通信:父子组件实时同步状态功能: 2.与vue相似的Watch ...

  4. 微信小程序父子组件相互通信

    父组件传值给子组件 在父组件中引用子组件 {"component": true,"usingComponents": {"alert-tip" ...

  5. 微信小程序 父子组件通讯/传值

    3种方式: 属性绑定:父组件 向 --> 子组件的指定属性设置数据.仅能设置json兼容的数据,如:基本数据类型.object等 (不能传递复杂属性的数据,如:方法等). 事件绑定:子组件 向 ...

  6. 微信小程序父子组件方法调用方法汇总

    父组件向子组件传值 父组件通过属性传值 <childEle childParams="{{params}}"></childEle> 子组件通过proper ...

  7. 微信小程序自定义组件(二)

    微信小程序自定义组件 ps 由于作业部落貌似出了点问题,耽误了点时间,找了一个stackedit.io准备写.无奈,这是要自己建编辑器的节奏啊.没有一个能靠的注 为何存在组件 组件间的关系 使用rel ...

  8. 一步步教你实现微信小程序自定义组件

    一步步教你实现微信小程序自定义组件 更新时间:2022年03月21日 11:12:34   作者:naluduo233 之前做小程序开发的时候,对于开发来说比较头疼的莫过于自定义组件了,下面这篇文章主 ...

  9. 微信小程序--自定义组件(超详细 从新建到使用)

    微信小程序–自定义组件 微信小程序官网介绍! 本文提供给急需使用自定义组件人群,以下是博主个人理解和案例!可以辅助官网来看 介绍: 从小程序基础库版本 1.6.3 开始,小程序支持简洁的组件化编程.所 ...

最新文章

  1. storyboard搭建项目_Storyboard 快速搭建UICollectionView
  2. 5.3 Spring事物管理详解 我的程序猿之路:第四十二章
  3. 谷歌宣布确立“量子霸权” IBM质疑:真的吗?
  4. 【STM32】定时器相关函数和类型
  5. Linux C编程---指针数组简析(二维数组、多级指针)
  6. 从头到尾打印链表c++_从头到尾创建一个C#应用程序-完整的24小时课程
  7. SpringBoot指南(三)——静态资源、欢迎页、Favicon、默认页面
  8. Mac(OS X)下的环境变量配置不生效解决办法
  9. 分享一个开源的流程图绘制软件--Diagram Designer
  10. 用 Python 让 Excel 快速按条件筛选数据
  11. ubuntu16.04 运行ROVIO
  12. 树莓派Android Things物联网开发:已知Bug发行说明
  13. git bash安装SDKman遇到需要安装zip的问题
  14. 带你轻松玩转“高颜值”3D图表
  15. 百度地图地图及定位实现
  16. 微信、支付宝支付绑定多个商户号
  17. WPF补充(二) 资源(Resource)
  18. codeforces 702F 可持久化平衡树
  19. 中科院 鲁士文 计算机网络,《计算机网络-鲁士文》10_基于IP的多协议标记交换技术.pptx...
  20. 非递归遍历二叉树实现

热门文章

  1. urlib2和requests模拟登陆查询MD5
  2. 0320 关于构建之法前三章的读后感
  3. json_decode()和json_encode()区别----2015-0929
  4. 十二生肖swift1.2
  5. vue新版router.addRoute基础用法
  6. [Node.js] 模块化 -- fs文件读取模块
  7. $(document).ready() 与 window.onload 的区别
  8. LeetCode--62.不同路径(排列组合,动态规划)
  9. LeetCode--151. 翻转字符串里的单词(字符串翻转,字符串分割)
  10. 添加lua_C++/Lua高级交互