微信小程序 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代码
Jan 22 Javascript
jQuery 如何先创建、再修改、后添加DOM元素
May 20 Javascript
基于jquery步骤进度条源码分享
Nov 12 Javascript
Javascript将数值转换为金额格式(分隔千分位和自动增加小数点)
Jun 22 Javascript
前端面试知识点锦集(JavaScript篇)
Dec 28 Javascript
JS日程管理插件FullCalendar中文说明文档
Feb 06 Javascript
JavaScript实现经纬度转换成地址功能
Mar 28 Javascript
Angular ng-animate和ng-cookies用法详解
Apr 18 Javascript
微信小程序引入模块中wxml、wxss、js的方法示例
Aug 09 Javascript
如何实现一个简易版的vuex持久化工具
Sep 11 Javascript
JS实现字体背景跑马灯
Jan 06 Javascript
vue编写简单的购物车功能
Jan 08 Vue.js
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
在PHP上显示JFreechart画的统计图方法
2013/11/03 PHP
PHP使用array_fill定义多维数组的方法
2015/03/18 PHP
Symfony实现行为和模板中取得request参数的方法
2016/03/17 PHP
php微信开发之图片回复功能
2018/06/14 PHP
PHP各种常见经典算法总结【排序、查找、翻转等】
2019/08/05 PHP
jquery ready()的几种实现方法小结
2010/06/18 Javascript
JS 如何获取radio选中后的值及不选择取radio的值
2013/10/28 Javascript
Node.js中使用计时器定时执行函数详解
2014/08/15 Javascript
原生javascript实现的分页插件pagenav
2014/08/28 Javascript
关闭页面window.location事件未执行的原因及解决方法
2014/09/01 Javascript
JavaScript中的setMilliseconds()方法使用详解
2015/06/11 Javascript
轻松实现js图片预览功能
2016/01/18 Javascript
图文详解Heap Sort堆排序算法及JavaScript的代码实现
2016/05/04 Javascript
vue v-on监听事件详解
2017/05/17 Javascript
浅谈JavaScript find 方法不支持IE的问题
2017/09/28 Javascript
JS实现简易换图时钟功能分析
2018/01/04 Javascript
vue.js实现二级菜单效果
2019/10/19 Javascript
Python编写简单的HTML页面合并脚本
2016/07/11 Python
shelve  用来持久化任意的Python对象实例代码
2016/10/12 Python
Python实现的远程登录windows系统功能示例
2018/06/21 Python
python的schedule定时任务模块二次封装方法
2019/02/19 Python
python conda操作方法
2019/09/11 Python
安装pyecharts1.8.0版本后导入pyecharts模块绘图时报错: “所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 ”的解决方法
2020/08/18 Python
分享unittest单元测试框架中几种常用的用例加载方法
2020/12/02 Python
借助HTML5 Canvas API制作一个简单的猜字游戏
2016/03/25 HTML / CSS
浅谈h5自定义audio(问题及解决)
2016/08/19 HTML / CSS
使用canvas实现黑客帝国数字雨效果
2020/01/02 HTML / CSS
Manduka官网:瑜伽垫、瑜伽毛巾和服装
2018/07/02 全球购物
毕业生自我鉴定范文
2013/11/08 职场文书
学院书画协会部门岗位职责
2013/12/01 职场文书
实践单位评语
2014/04/26 职场文书
警示教育活动总结
2014/05/05 职场文书
群众路线对照检查材料
2014/09/22 职场文书
幼儿学前班评语
2014/12/29 职场文书
2015年七夕爱情寄语
2015/03/24 职场文书
四年级语文教学反思
2016/03/03 职场文书