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


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对URL字符串进行编码/解码分析
Oct 25 Javascript
javascript 四则运算精度修正函数代码
May 31 Javascript
JavaScript浏览器选项卡效果
Aug 25 Javascript
关闭时刷新父窗口两种方法
May 07 Javascript
js 去除字符串第一位逗号的方法
Jun 07 Javascript
JavaScript设计模式之抽象工厂模式介绍
Dec 28 Javascript
angularJS 中$attrs方法使用指南
Feb 09 Javascript
AngularJS表单验证中级篇(3)
Sep 28 Javascript
JavaScript取得gridview中获取checkbox选中的值
Jul 24 Javascript
vue源码nextTick使用及原理解析
Aug 13 Javascript
vue通过接口直接下载java生成好的Excel表格案例
Oct 26 Javascript
vue单元格多列合并的实现
Nov 26 Vue.js
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 mysql操作mysql_connect连接数据库实例详解
2016/12/26 PHP
基于thinkPHP类的插入数据库操作功能示例
2017/01/06 PHP
PHP下载远程图片的几种方法总结
2017/04/07 PHP
jquery 查找select ,并触发事件的实现代码
2011/03/30 Javascript
图片上传判断及预览脚本的效果实例
2013/08/07 Javascript
js实现网页自动刷新可制作节日倒计时效果
2014/05/27 Javascript
js监听鼠标事件控制textarea输入字符串的个数
2014/09/29 Javascript
jQuery中Form相关知识汇总
2015/01/06 Javascript
jquery加载图片时以淡入方式显示的方法
2015/01/14 Javascript
JavaScript学习笔记之Function对象
2015/01/22 Javascript
JS设置网页图片vspace和hspace属性的方法
2015/04/01 Javascript
原生js实现图片层叠轮播切换效果
2016/02/02 Javascript
jQuery中队列queue()函数的实例教程
2016/05/03 Javascript
浅谈jquery高级方法描述与应用
2016/10/04 Javascript
简单理解vue中track-by属性
2016/10/26 Javascript
javascript ES6中箭头函数注意细节小结
2017/02/17 Javascript
基于zTree树形菜单的使用实例
2017/12/25 Javascript
详解vue中使用微信jssdk
2019/04/19 Javascript
JSON 入门教程基础篇 json入门学习笔记
2020/09/22 Javascript
[40:53]完美世界DOTA2联赛PWL S3 Magma vs DLG 第二场 12.18
2020/12/20 DOTA
Python 除法小技巧
2008/09/06 Python
python类继承与子类实例初始化用法分析
2015/04/17 Python
Python的Django框架下管理站点的基本方法
2015/07/17 Python
Python使用configparser库读取配置文件
2020/02/22 Python
python super()函数的基本使用
2020/09/10 Python
CSS3 @font-face属性使用指南
2014/12/12 HTML / CSS
P D PAOLA意大利官网:西班牙著名的珠宝首饰品牌
2019/09/24 全球购物
计算机专业个人简短的自我评价
2013/10/23 职场文书
计算机科学与技术应届生求职信
2013/11/07 职场文书
求职信格式范本
2013/11/15 职场文书
个人廉洁自律承诺书
2014/03/27 职场文书
岗位廉洁从业承诺书
2014/03/28 职场文书
投标担保书范文
2014/04/02 职场文书
教师考核鉴定意见
2015/06/05 职场文书
高中生物教学反思
2016/02/20 职场文书
Windows Server 2012 R2服务器安装与配置的完整步骤
2022/07/15 Servers