微信小程序实现页面监听自定义组件的触发事件


Posted in Javascript onNovember 01, 2020

微信小程序实现页面监听自定义组件的触发事件,供大家参考,具体内容如下

需求:在微信小程序开发过程中,页面通常会用到提示弹框。这时为了减少代码量及代码可拓展性,我们自定义一个提示组件是必不可少的了。那么问题来了,页面如何监听到组件的触发事件呢?
下面给大家详细讲解页面如何监听自定义组件的触发事件。

prompt组件:

1.首先搭建提示组件ui。由于后面各个页面都有可能用到该组件,所以我选择从页面传值过来显示提示语;
2.然后在prompt.js的点击事件里指定方法名称,该方法名称在后面的页面调用监听组件时需要用到;

// prompt.wxml
<view class="main" catchtouchmove="catchTouchMove">
 <view class="main-mask"></view>
 <view class="main-content">
 <view class="content-title">提示</view>
 <view class="content-text">{{txtTips}}</view>
 <button class="btn-confirm" bindtap="bindConfirm">?定</button>
 </view>
</view>
// prompt.js
Component({
 /**
 * 组件的属性列表
 */
 properties: {
 txtTips: String,//声明属性类型
 },

 /**
 * 组件的初始数据
 */
 data: {

 },

 /**
 * 组件的方法列表
 */
 methods: {
 //确认按钮
 bindConfirm: function (e) {
  this.triggerEvent('events');
 },

 // 截获竖向滑动--禁止底部页面滑动
 catchTouchMove: function (res) {
  return true;
 },
 }
})

home页面:

1.首先需要在home.json的"usingComponents"属性里引入prompt组件地址;
2.然后在home.wxml中引入<prompt />组件,且绑定的事件名称要跟组件中triggerEvent方法指定的名称一致;
3.完成上面2个步骤后,我们就可以在js页面就可以监听操作组件的触发事件啦;

// home.json
{
 "usingComponents": {// 需引入自定义组件地址
 "prompt": "/component/prompt/prompt"
 }
}
// home.wxml
<view class="main">
 <button bindtap="bindEjectComponent">弹出自定义组件</button>
 <!-- 提示组件 -->
 <prompt txtTips="{{txtTips}}" bind:events="bindPromptConfirm" wx:if="{{isShowPromptComponent}}"/>
</view>
// home.js
Page({
 /**
 页面的初始数据
 */
 data: {
 isShowPromptComponent: false,//是否显示提示控件组件
 },

 //点击弹出自定义组件
 bindEjectComponent:function(e){
 var that = this;
 that.setData({
  isShowPromptComponent: true,
  txtTips:"Hi,我是自定义提示组件喔!",
 })
 },

 //提示组件确认事件
 bindPromptConfirm: function (e) {
 var that = this;
 that.setData({
  isShowPromptComponent: false,
 })
 },
})

看到这里‘页面监听组件触发事件'功能就实现啦!!!最后上演示视频,看看效果:

微信小程序实现页面监听自定义组件的触发事件

为大家推荐现在关注度比较高的微信小程序教程一篇:《微信小程序开发教程》小编为大家精心整理的,希望喜欢。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 写类方式之一
Jul 05 Javascript
『JavaScript』限制Input只能输入数字实现思路及代码
Apr 22 Javascript
JavaScript回调(callback)函数概念自我理解及示例
Jul 04 Javascript
在Mac OS下使用Node.js的简单教程
Jun 24 Javascript
JS实现带圆弧背景渐变效果的导航菜单代码
Oct 13 Javascript
js倒计时简单实现方法
Dec 17 Javascript
js密码强度实时检测代码
Mar 02 Javascript
JavaScript中join()、splice()、slice()和split()函数用法示例
Aug 24 Javascript
vue-cli+axios实现文件上传下载功能(下载接收后台返回文件流)
May 10 Javascript
vue+echarts实现动态折线图的方法与注意
Sep 01 Javascript
vant中的toast层级改变操作
Nov 04 Javascript
nginx配置域名后的二级目录访问不同项目的配置操作
Nov 06 Javascript
uniapp微信小程序实现一个页面多个倒计时
Nov 01 #Javascript
uni-app使用countdown插件实现倒计时
Nov 01 #Javascript
uni-app实现获取验证码倒计时功能
Nov 01 #Javascript
uniapp电商小程序实现订单30分钟倒计时
Nov 01 #Javascript
详解JavaScript之Array.reduce源码解读
Nov 01 #Javascript
微信小程序实现星星评分效果
Nov 01 #Javascript
Express 配置HTML页面访问的实现
Nov 01 #Javascript
You might like
php array_pop()数组函数将数组最后一个单元弹出(出栈)
2011/07/12 PHP
关于file_get_contents返回为空或函数不可用的解决方案
2013/06/24 PHP
php根据年月获取当月天数及日期数组的方法
2016/11/30 PHP
基于jquery的返回顶部效果(兼容IE6)
2011/01/17 Javascript
jquery插件制作简单示例说明
2012/02/03 Javascript
jquery实现点击向下展开菜单项(伸缩导航)效果
2015/08/22 Javascript
jquery mobile移动端幻灯片滑动切换效果
2020/04/15 Javascript
详解Angular2 关于*ngFor 嵌套循环
2017/05/22 Javascript
详解如何在微信小程序中愉快地使用sass
2018/07/30 Javascript
vue生成文件本地打开查看效果的实例
2018/09/06 Javascript
Bootstrap fileinput 上传新文件移除时触发服务器同步删除的配置
2018/10/08 Javascript
django使用channels2.x实现实时通讯
2018/11/28 Javascript
webpack proxy 使用(代理的使用)
2020/01/10 Javascript
vue-cli设置publicPath小记
2020/04/14 Javascript
Typescript3.9 常用新特性一览(推荐)
2020/05/14 Javascript
使用React-Router实现前端路由鉴权的示例代码
2020/07/26 Javascript
JavaScript缓动动画函数的封装方法
2020/11/25 Javascript
Vue中inheritAttrs的使用实例详解
2020/12/31 Vue.js
[01:06]DOTA2小知识课堂 Ep.01 TP出门不要忘记帮队友灌瓶哦
2019/12/05 DOTA
Windows下将Python文件打包成.EXE可执行文件的方法
2018/08/03 Python
在python shell中运行python文件的实现
2019/12/21 Python
python实现一次性封装多条sql语句(begin end)
2020/06/06 Python
Python datetime 如何处理时区信息
2020/09/02 Python
详解如何修改python中字典的键和值
2020/09/29 Python
美国零售商店:Blue&Cream
2017/04/07 全球购物
巴西宠物店在线:Geração Pet
2017/05/31 全球购物
波兰数码相机及配件网上商店: Cyfrowe.pl
2017/06/19 全球购物
为什么要用EJB
2014/04/17 面试题
舞蹈教育学专业推荐信
2013/11/27 职场文书
网吧消防安全制度
2014/01/28 职场文书
团拜会策划方案
2014/06/07 职场文书
大学生学习面向未来的赶考思想汇报
2014/09/12 职场文书
群众路线自我剖析范文
2014/11/04 职场文书
药品开票员岗位职责
2015/04/15 职场文书
建国大业观后感600字
2015/06/01 职场文书
纪律委员竞选稿
2015/11/19 职场文书