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


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 相关文章推荐
iframe 异步加载技术及性能分析
Jul 19 Javascript
JS实现遮罩层效果的简单实例
Nov 12 Javascript
js拖动div 当鼠标移动时整个div也相应的移动
Nov 21 Javascript
Js中使用hasOwnProperty方法检索ajax响应对象的例子
Dec 08 Javascript
javascript实现修改微信分享的标题内容等
Dec 11 Javascript
JQuery使用$.ajax和checkbox实现下次不在通知功能
Apr 16 Javascript
浅谈JavaScript中null和undefined
Jul 09 Javascript
用javascript获取任意颜色的更亮或更暗颜色值示例代码
Jul 21 Javascript
vue 2.8.2版本配置刚进入时候的默认页面方法
Sep 21 Javascript
JavaScript canvas实现跟随鼠标事件
Feb 10 Javascript
vue实现简单跑马灯效果
May 25 Javascript
JS中循环遍历数组的四种方式总结
Jan 23 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
从wamp到xampp的升级之路
2015/04/08 PHP
php类的扩展和继承用法实例
2015/06/20 PHP
Yii中表单用法实例详解
2016/01/05 PHP
PHP指定截取字符串中的中英文或数字字符的实例分享
2016/03/18 PHP
PHP实现RTX发送消息提醒的实例代码
2017/01/03 PHP
PHP实现生成数据字典功能示例
2018/05/24 PHP
S2SH整合JQuery+Ajax实现登录验证功能实现代码
2013/01/30 Javascript
JS中获取数据库中的值的方法
2013/07/14 Javascript
JS中把字符转成ASCII值的函数示例代码
2013/11/21 Javascript
轻松创建nodejs服务器(7):阻塞操作的实现
2014/12/18 NodeJs
让图片跳跃起来  javascript图片轮播特效
2016/02/16 Javascript
Javascript基础之数组的使用
2016/05/13 Javascript
jqueryUI tab标签页代码分享
2017/10/09 jQuery
JavaScript对象的浅拷贝与深拷贝实例分析
2018/07/25 Javascript
微信小程序实现获取小程序码和二维码java接口开发
2019/03/29 Javascript
微信小程序开发注意指南和优化实践(小结)
2019/06/21 Javascript
layui 实现加载动画以及非真实加载进度的方法
2019/09/23 Javascript
解决vue-cli项目开发运行时内存暴涨卡死电脑问题
2019/10/29 Javascript
[01:01:43]EG vs VP 2018国际邀请赛淘汰赛BO3 第二场 8.24
2018/08/25 DOTA
python使用str &amp; repr转换字符串
2016/10/13 Python
Python利用ElementTree模块处理XML的方法详解
2017/08/31 Python
Django开发中复选框用法示例
2018/03/20 Python
python调用摄像头拍摄数据集
2019/06/01 Python
python线程定时器Timer实现原理解析
2019/11/30 Python
keras 解决加载lstm+crf模型出错的问题
2020/06/10 Python
Python实现树莓派摄像头持续录像并传送到主机的步骤
2020/11/30 Python
Pycharm 解决自动格式化冲突的设置操作
2021/01/15 Python
EJB timer的种类
2014/10/28 面试题
大学生的网络创业计划书
2013/12/26 职场文书
ktv中秋节活动方案
2014/01/30 职场文书
C++程序员求职信范文
2014/04/14 职场文书
中学生操行评语
2014/04/24 职场文书
具结保证书
2015/01/17 职场文书
HTML中table表格拆分合并(colspan、rowspan)
2021/04/07 HTML / CSS
Mysql8.0递归查询的简单用法示例
2021/08/04 MySQL
纯CSS实现一个简单步骤条的示例代码
2022/07/15 HTML / CSS