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


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 验证密码强弱的小例子
Mar 21 Javascript
浏览器的JavaScript引擎的识别方法
Oct 20 Javascript
js中的eventType事件及其浏览器支持性介绍
Nov 29 Javascript
Javscript调用iframe框架页面中函数的方法
Nov 01 Javascript
Bootstrap面板使用方法
Jan 16 Javascript
详解微信小程序 template添加绑定事件
Jun 23 Javascript
angularjs实现时间轴效果的示例代码
Nov 29 Javascript
详解React项目的服务端渲染改造(koa2+webpack3.11)
Mar 19 Javascript
详解Angular5路由传值方式及其相关问题
Apr 28 Javascript
Angular Renderer (渲染器)的具体使用
May 03 Javascript
vue 动态生成拓扑图的示例
Jan 03 Vue.js
uni-app 微信小程序授权登录的实现步骤
Feb 18 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学习之整理字符串
2011/04/17 PHP
PHP解密Unicode及Escape加密字符串
2015/05/17 PHP
thinkphp5 URL和路由的功能详解与实例
2017/12/26 PHP
javascript对talbe进行动态添加、删除、验证实现代码
2012/03/29 Javascript
AngularJS入门知识之MVW类框架的编程思想探讨
2014/12/08 Javascript
AngularJS自定义控件实例详解
2016/12/13 Javascript
轻松理解JavaScript闭包
2017/03/14 Javascript
Angular X中使用ngrx的方法详解(附源码)
2017/07/10 Javascript
Vue2.0父组件与子组件之间的事件发射与接收实例代码
2017/09/19 Javascript
javascript计算渐变颜色的实例
2017/09/22 Javascript
vue+vuex+axios实现登录、注册页权限拦截
2018/03/09 Javascript
JS async 函数的含义和用法实例总结
2020/04/08 Javascript
vue实现用户长时间不操作自动退出登录功能的实现代码
2020/07/23 Javascript
在vue中实现echarts随窗体变化
2020/07/27 Javascript
vue循环中点击选中再点击取消(单选)的实现
2020/09/10 Javascript
[01:33:59]真人秀《加油 DOTA》 第六期
2014/09/09 DOTA
python下函数参数的传递(参数带星号的说明)
2010/09/19 Python
Python3.2中Print函数用法实例详解
2015/05/19 Python
Python Sql数据库增删改查操作简单封装
2016/04/18 Python
简单谈谈python中的Queue与多进程
2016/08/25 Python
Python 实现购物商城,含有用户入口和商家入口的示例
2017/09/15 Python
pandas数据分组和聚合操作方法
2018/04/11 Python
pytorch cnn 识别手写的字实现自建图片数据
2018/05/20 Python
Python之修改图片像素值的方法
2019/07/03 Python
python处理自动化任务之同时批量修改word里面的内容的方法
2019/08/23 Python
Python爬取破解无线网络wifi密码过程解析
2019/09/17 Python
Django CSRF认证的几种解决方案
2020/03/03 Python
tensorflow转换ckpt为savermodel模型的实现
2020/05/25 Python
extern在函数声明中是什么意思
2014/01/19 面试题
了解AppleTalk协议吗
2014/04/01 面试题
2014客服代表实习自我鉴定
2014/09/18 职场文书
2014年学校领导班子对照检查材料
2014/09/19 职场文书
整改报告怎么写
2014/11/06 职场文书
使用Canvas绘制一个游戏人物属性图
2022/03/25 Javascript
mapstruct的用法之qualifiedByName示例详解
2022/04/06 Java/Android
go goth封装第三方认证库示例详解
2022/08/14 Golang