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


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 相关文章推荐
js 页面关闭前的出现提示的实现代码
May 25 Javascript
javascript 基础篇1 什么是js 建立第一个js程序
Mar 14 Javascript
js对象转json数组的简单实现案例
Feb 28 Javascript
javascript学习笔记(七)Ajax和Http状态码
Oct 08 Javascript
js控制文本框只输入数字和小数点的方法
Mar 10 Javascript
jQuery延迟加载图片插件Lazy Load使用指南
Mar 25 Javascript
js实现时间显示几天前、几小时前或者几分钟前的方法集锦
May 29 Javascript
BootStrap使用file-input插件上传图片的方法
Sep 05 Javascript
Bootstrap整体框架之JavaScript插件架构
Dec 15 Javascript
推荐三款不错的图片压缩上传插件(webuploader、localResizeIMG4、LUploader)
Apr 21 Javascript
jQuery Validate表单验证插件实现代码
Jun 08 jQuery
Angular移动端页面input无法输入的解决方法
Nov 14 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
一拳超人中怪人协会钦定! S级别最强四人!
2020/03/02 日漫
让你同时上传 1000 个文件 (二)
2006/10/09 PHP
PHP计划任务、定时执行任务的实现代码
2011/04/23 PHP
php $_SERVER windows系统与linux系统下的区别说明
2014/02/14 PHP
PHP实现生成模糊图片的方法示例
2017/12/21 PHP
Laravel框架实现的rbac权限管理操作示例
2019/01/16 PHP
window.open关于浏览器拦截问题分析及解决方法
2013/02/05 Javascript
jquery创建表格(自动增加表格)代码分享
2013/12/25 Javascript
jQuery中ajax的load()方法用法实例
2014/12/26 Javascript
JavaScript里四舍五入函数round用法实例
2015/04/06 Javascript
javascript实现捕捉键盘上按下的键
2015/05/05 Javascript
使用AngularJS中的SCE来防止XSS攻击的方法
2015/06/18 Javascript
基于JavaScript的操作系统你听说过吗?
2016/01/28 Javascript
简单了解Backbone.js的Model模型以及View视图的源码
2016/02/14 Javascript
jQuery插件HighCharts绘制2D金字塔图效果示例【附demo源码下载】
2017/03/09 Javascript
Vue.js手风琴菜单组件开发实例
2017/05/16 Javascript
Jquery中attr与prop的区别详解
2017/05/27 jQuery
使用JS和canvas实现gif动图的停止和播放代码
2017/09/01 Javascript
浅谈Vue.js 组件中的v-on绑定自定义事件理解
2017/11/17 Javascript
jquery如何实现点击空白处隐藏元素
2017/12/05 jQuery
详解关于Vue2.0路由开启keep-alive时需要注意的地方
2018/09/18 Javascript
vue使用rem实现 移动端屏幕适配
2018/09/26 Javascript
[33:23]Secret vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
跟老齐学Python之有容乃大的list(3)
2014/09/15 Python
python实现忽略大小写对字符串列表排序的方法
2014/09/25 Python
Python与shell的3种交互方式介绍
2015/04/11 Python
Python简单计算文件夹大小的方法
2015/07/14 Python
python全局变量引用与修改过程解析
2020/01/07 Python
将pycharm配置为matlab或者spyder的用法说明
2020/06/08 Python
css3实现书本翻页效果的示例代码
2021/03/08 HTML / CSS
毕业生自荐信格式
2014/03/07 职场文书
市场开发计划书
2014/05/07 职场文书
聘任协议书(挂靠)
2015/09/21 职场文书
2016年优秀团支部事迹材料
2016/02/26 职场文书
Python中Numpy和Matplotlib的基本使用指南
2021/11/02 Python
Win11 Build 25179预览版发布(附更新内容+ISO官方镜像下载)
2022/08/14 数码科技