微信小程序 this.triggerEvent()的具体使用


Posted in Javascript onDecember 10, 2019

在对组件进行封装时 在当前页面想要获取组件中的某一状态,需要使用到this.triggerEvent(' ',{},{}),第一个参数是自定义事件名称,这个名称是在页面调用组件时bind的名称,第二个对象就可以将想要的属性拿到,第三个参数文档中有介绍,有机会再做补充。

在这个demo中like组件是我要封装的组件,在classic.wxml中调用的:

微信小程序 this.triggerEvent()的具体使用

组件like.vue的页面是这样写的:

<view bind:tap="onLike" class="container">
 <image src="{{like?yesSrc:noSrc}}" />
 <text>{{count}}</text>
</view>

组件的like.js中methods是这样写的:

methods: {
    onLike(event) {
      let like = this.properties.like;
      let count = this.properties.count;
      count = like ? count - 1 : count + 1;
      this.setData({
        like: !like,
        count
      })
      let behavior = this.properties.like ? "like" : "cancel";
      this.triggerEvent('like', {
        behavior
      }, {})
    }
  }

那么在classic.wxml中调用组件:

这里要注意bind:后面的like是this.triggerEvent()的第一个参数,自定义事件名称

<v-like bind:like="onLike" like="{{classicData.like_status}}" count="{{classicData.fav_nums}}"/>

classic.js中onlike就可以实现页面对组件属性的获取:

onLike: function(event) {
    console.log(event)
  }

微信小程序 this.triggerEvent()的具体使用

event.detail.behavior就可以拿到是不是喜欢的属性了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js可突破windows弹退效果代码
Aug 09 Javascript
jQuery怎么解析Json字符串(Json格式/Json对象)
Aug 09 Javascript
JavaScript判断表单提交时哪个radio按钮被选中的方法
Mar 21 Javascript
使用JavaScript和CSS实现文本隔行换色的方法
Nov 04 Javascript
JavaScript DOM 学习总结(五)
Nov 24 Javascript
学习Bootstrap滚动监听 附调用方法
Jul 02 Javascript
纯javaScript、jQuery实现个性化图片轮播【推荐】
Jan 08 Javascript
整理关于Bootstrap警示框的慕课笔记
Mar 29 Javascript
JavaScript实现开关等效果
Sep 08 Javascript
利用babel将es6语法转es5的简单示例
Dec 01 Javascript
p5.js绘制旋转的正方形
Oct 23 Javascript
JS正则表达式验证端口范围(0-65535)
Jan 06 Javascript
jQuery实现消息弹出框效果
Dec 10 #jQuery
jQuery实现弹出层效果
Dec 10 #jQuery
javascript实现弹出层效果
Dec 10 #Javascript
element表格翻页第2页从1开始编号(后端从0开始分页)
Dec 10 #Javascript
微信小程序实现注册登录功能(表单校验、错误提示)
Dec 10 #Javascript
微信小程序登陆注册功能的实现代码
Dec 10 #Javascript
vue excel上传预览和table内容下载到excel文件中
Dec 10 #Javascript
You might like
腾讯微博提示missing parameter errorcode 102 错误的解决方法
2014/12/22 PHP
PHP实现XML与数据格式进行转换类实例
2015/07/29 PHP
PHP生成腾讯云COS接口需要的请求签名
2018/05/20 PHP
IE中createElement需要注意的一个问题
2010/07/13 Javascript
JavaScript子窗口ModalDialog中操作父窗口对像
2012/12/11 Javascript
网页中表单按回车就自动提交的问题的解决方案
2014/11/03 Javascript
jQuery实现的无缝广告图片左右滚动功能详解
2016/12/24 Javascript
javascript 组合按键事件监听实现代码
2017/02/21 Javascript
Bootstrap缩略图的创建方法
2017/03/22 Javascript
详解nodejs微信公众号开发——1.接入微信公众号
2017/04/10 NodeJs
Angularjs在360兼容模式下取数据缓存问题的解决办法
2017/06/22 Javascript
解决ionic和angular上拉加载的问题
2017/08/03 Javascript
详解Vue的computed(计算属性)使用实例之TodoList
2017/08/07 Javascript
vue v-model实现自定义样式多选与单选功能
2018/07/05 Javascript
推荐15个最好用的JavaScript代码压缩工具
2019/02/13 Javascript
原生小程序封装跑马灯效果
2020/10/21 Javascript
Vue中使用wangeditor富文本编辑的问题
2021/02/07 Vue.js
利用Python代码实现数据可视化的5种方法详解
2018/03/25 Python
Python计算库numpy进行方差/标准方差/样本标准方差/协方差的计算
2018/12/28 Python
python pandas时序处理相关功能详解
2019/07/03 Python
Python3+Requests+Excel完整接口自动化测试框架的实现
2019/10/11 Python
python验证码图片处理(二值化)
2019/11/01 Python
详解Python直接赋值,深拷贝和浅拷贝
2020/07/09 Python
英国手机零售商:Metrofone
2019/03/18 全球购物
Seavenger官网:潜水服、浮潜、靴子和袜子
2020/03/05 全球购物
财务会计自荐信范文
2014/02/21 职场文书
环保建议书500字
2014/05/14 职场文书
维修工先进事迹
2014/05/29 职场文书
2014年防汛工作总结
2014/12/08 职场文书
2015年市场部工作总结
2015/04/30 职场文书
工程质量保证书
2015/05/09 职场文书
百年校庆宣传标语口号
2015/12/26 职场文书
幼儿园教师心得体会范文
2016/01/21 职场文书
MySql 8.0及对应驱动包匹配的注意点说明
2021/06/23 MySQL
jackson json序列化实现首字母大写,第二个字母需小写
2021/06/29 Java/Android
戴尔Win11系统no bootable devices found解决教程
2022/09/23 数码科技