微信小程序父子组件通信
父子组件之间有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 在父组件的文件夹中的.json文件下引入子组件 {"usingComponents": {//"Tab" 是自己定义的组件 ...
- 微信小程序父子组件传值问题
微信小程序父子组件传值问题 把自己碰到的问题或者学到的东西在这里总结,慢慢积累 在父子组件传值时,我发现子组件竟然拿不到父组件传过来的值. 我指的拿不到父组件的值,是指在子组件的生命周期created ...
- 可以实现微信小程序父子组件实时通信的插件
小程序在组件化开发的时候可能没有达到vue那样的便捷,例如跨组件状态同步等. 这个插件可以: 1.通过代理的方式,为小程序添加了跨组件实时通信:父子组件实时同步状态功能: 2.与vue相似的Watch ...
- 微信小程序父子组件相互通信
父组件传值给子组件 在父组件中引用子组件 {"component": true,"usingComponents": {"alert-tip" ...
- 微信小程序 父子组件通讯/传值
3种方式: 属性绑定:父组件 向 --> 子组件的指定属性设置数据.仅能设置json兼容的数据,如:基本数据类型.object等 (不能传递复杂属性的数据,如:方法等). 事件绑定:子组件 向 ...
- 微信小程序父子组件方法调用方法汇总
父组件向子组件传值 父组件通过属性传值 <childEle childParams="{{params}}"></childEle> 子组件通过proper ...
- 微信小程序自定义组件(二)
微信小程序自定义组件 ps 由于作业部落貌似出了点问题,耽误了点时间,找了一个stackedit.io准备写.无奈,这是要自己建编辑器的节奏啊.没有一个能靠的注 为何存在组件 组件间的关系 使用rel ...
- 一步步教你实现微信小程序自定义组件
一步步教你实现微信小程序自定义组件 更新时间:2022年03月21日 11:12:34 作者:naluduo233 之前做小程序开发的时候,对于开发来说比较头疼的莫过于自定义组件了,下面这篇文章主 ...
- 微信小程序--自定义组件(超详细 从新建到使用)
微信小程序–自定义组件 微信小程序官网介绍! 本文提供给急需使用自定义组件人群,以下是博主个人理解和案例!可以辅助官网来看 介绍: 从小程序基础库版本 1.6.3 开始,小程序支持简洁的组件化编程.所 ...
最新文章
- storyboard搭建项目_Storyboard 快速搭建UICollectionView
- 5.3 Spring事物管理详解 我的程序猿之路:第四十二章
- 谷歌宣布确立“量子霸权” IBM质疑:真的吗?
- 【STM32】定时器相关函数和类型
- Linux C编程---指针数组简析(二维数组、多级指针)
- 从头到尾打印链表c++_从头到尾创建一个C#应用程序-完整的24小时课程
- SpringBoot指南(三)——静态资源、欢迎页、Favicon、默认页面
- Mac(OS X)下的环境变量配置不生效解决办法
- 分享一个开源的流程图绘制软件--Diagram Designer
- 用 Python 让 Excel 快速按条件筛选数据
- ubuntu16.04 运行ROVIO
- 树莓派Android Things物联网开发:已知Bug发行说明
- git bash安装SDKman遇到需要安装zip的问题
- 带你轻松玩转“高颜值”3D图表
- 百度地图地图及定位实现
- 微信、支付宝支付绑定多个商户号
- WPF补充(二) 资源(Resource)
- codeforces 702F 可持久化平衡树
- 中科院 鲁士文 计算机网络,《计算机网络-鲁士文》10_基于IP的多协议标记交换技术.pptx...
- 非递归遍历二叉树实现
热门文章
- urlib2和requests模拟登陆查询MD5
- 0320 关于构建之法前三章的读后感
- json_decode()和json_encode()区别----2015-0929
- 十二生肖swift1.2
- vue新版router.addRoute基础用法
- [Node.js] 模块化 -- fs文件读取模块
- $(document).ready() 与 window.onload 的区别
- LeetCode--62.不同路径(排列组合,动态规划)
- LeetCode--151. 翻转字符串里的单词(字符串翻转,字符串分割)
- 添加lua_C++/Lua高级交互