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


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 相关文章推荐
ImageFlow可鼠标控制图片滚动
Jan 30 Javascript
jquery修改属性值实例代码(设置属性值)
Jan 06 Javascript
js读取cookie方法总结
Oct 31 Javascript
JS面向对象编程详解
Mar 06 Javascript
快速掌握Node.js中setTimeout和setInterval的使用方法
Mar 21 Javascript
关于JSON.parse(),JSON.stringify(),jQuery.parseJSON()的用法
Jun 30 Javascript
在javascript中使用com组件的简单实现方法
Aug 17 Javascript
bootstrap的工具提示实例代码
May 17 Javascript
vue学习教程之带你一步步详细解析vue-cli
Dec 26 Javascript
layui 给数据表格加序号的方法
Aug 20 Javascript
在Vue中使用icon 字体图标的方法
Jun 14 Javascript
addEventListener()和removeEventListener()追加事件和删除追加事件
Dec 04 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
PHP5中虚函数的实现方法分享
2011/04/20 PHP
php过滤html中的其他网站链接的方法(域名白名单功能)
2014/04/24 PHP
phplot生成图片类用法详解
2015/01/06 PHP
PHP重载基础知识回顾
2020/09/10 PHP
JavaScript中使用typeof运算符需要注意的几个坑
2014/11/08 Javascript
使用npm发布Node.JS程序包教程
2015/03/02 Javascript
纯javascript制作日历控件
2015/07/17 Javascript
JQUERY实现网页右下角固定位置展开关闭特效的方法
2015/07/27 Javascript
jQuery实现动画效果circle实例
2015/08/06 Javascript
使用JavaScript脚本无法直接改变Asp.net中Checkbox控件的Enable属性的解决方法
2015/09/16 Javascript
javascript实现随机生成DIV背景色
2016/06/20 Javascript
jQuery实现的纵向下拉菜单实例详解【附demo源码下载】
2016/07/09 Javascript
textarea 在浏览器中固定大小和禁止拖动的实现方法
2016/12/03 Javascript
AngularJS的ng-repeat指令与scope继承关系实例详解
2017/01/21 Javascript
微信小程序小组件 基于Canvas实现直播点赞气泡效果
2020/05/29 Javascript
jQuery中的on与bind绑定事件区别实例详解
2017/02/28 Javascript
AngularJS基于factory创建自定义服务的方法详解
2017/05/25 Javascript
Angular中响应式表单的三种更新值方法详析
2017/08/22 Javascript
原生js实现公告滚动效果
2021/01/10 Javascript
Vue组件的使用及个人理解与介绍
2019/02/09 Javascript
vue+Element实现搜索关键字高亮功能
2019/05/28 Javascript
解决vue项目运行npm run serve报错的问题
2020/10/26 Javascript
Python开发的单词频率统计工具wordsworth使用方法
2014/06/25 Python
python选择排序算法实例总结
2015/07/01 Python
Python随机数random模块使用指南
2016/09/09 Python
Anaconda入门使用总结
2018/04/05 Python
python 信息同时输出到控制台与文件的实例讲解
2018/05/11 Python
OpenCV python sklearn随机超参数搜索的实现
2020/01/17 Python
python GUI库图形界面开发之PyQt5信号与槽基础使用方法与实例
2020/03/06 Python
大三在校生电子商务求职信
2013/10/29 职场文书
教育学专业毕业生的自我鉴定
2013/11/26 职场文书
《大江保卫战》教学反思
2014/04/11 职场文书
2014年维修电工工作总结
2014/11/20 职场文书
实习科室评语
2015/01/04 职场文书
大明湖导游词
2015/02/03 职场文书
Windows11插耳机没反应怎么办? win11耳机没声音的多种解决办法
2021/11/21 数码科技