微信小程序 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 相关文章推荐
javascript  Error 对象 错误处理
May 18 Javascript
JS返回上一页实例代码通过图片和按钮分别实现
Aug 16 Javascript
js加入收藏以及使用Jquery更改透明度
Jan 26 Javascript
JavaScript统计网站访问次数的实现代码
Nov 18 Javascript
jQuery实现的给图片点赞+1动画效果(附在线演示及demo源码下载)
Dec 31 Javascript
无阻塞加载js,防止因js加载不了影响页面显示的问题
Dec 18 Javascript
javascript 显示全局变量与隐式全局变量的区别
Feb 09 Javascript
使用DataTable插件实现异步加载数据
Nov 19 Javascript
element-ui表格数据转换的示例代码
Aug 24 Javascript
jquery获取元素到屏幕四周可视距离的方法
Sep 05 jQuery
layui禁用侧边导航栏点击事件的解决方法
Sep 25 Javascript
使用vue-cli3+typescript的项目模板创建工程的教程
Feb 28 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
推荐Discuz!5的PHP代码高亮显示与实现可运行代码
2007/03/15 PHP
setTimeout的延时为0时多个浏览器的区别
2012/05/23 Javascript
window.addEventListener来解决让一个js事件执行多个函数
2012/12/26 Javascript
弹出窗口并且此窗口带有半透明的遮罩层效果
2014/03/13 Javascript
JS、DOM和JQuery之间的关系示例分析
2014/04/09 Javascript
初步使用Node连接Mysql数据库
2016/03/03 Javascript
JS判断字符串字节数并截取长度的方法
2016/03/05 Javascript
jquery获取复选框checkbox的值的简单实现方法
2016/05/26 Javascript
JS实现控制文本框的内容
2016/07/10 Javascript
JS实现HTML表格排序功能
2016/08/05 Javascript
Bootstrap整体框架之JavaScript插件架构
2016/12/15 Javascript
分析javascript中9 个常见错误阻碍你进步
2017/09/18 Javascript
深入理解Vue生命周期、手动挂载及挂载子组件
2017/09/27 Javascript
微信小程序版翻牌小游戏
2018/01/26 Javascript
JavaScript异步加载问题总结
2018/02/17 Javascript
对vue 键盘回车事件的实例讲解
2018/08/25 Javascript
JavaScript数组去重的方法总结【12种方法,号称史上最全】
2019/02/28 Javascript
JavaScript内置对象math,global功能与用法实例分析
2019/06/10 Javascript
layer插件实现在弹出层中弹出一警告提示并关闭弹出层的方法
2019/09/24 Javascript
Element Steps步骤条的使用方法
2020/07/26 Javascript
JS实现4位随机验证码
2020/10/19 Javascript
[01:35]辉夜杯战队访谈宣传片—LGD
2015/12/25 DOTA
Python strip lstrip rstrip使用方法
2008/09/06 Python
在Python的Django框架中调用方法和处理无效变量
2015/07/15 Python
使用Python的PIL模块来进行图片对比
2016/02/18 Python
基于Python __dict__与dir()的区别详解
2017/10/30 Python
Python实现的井字棋(Tic Tac Toe)游戏示例
2018/01/31 Python
windows下cx_Freeze生成Python可执行程序的详细步骤
2018/10/09 Python
Django框架登录加上验证码校验实现验证功能示例
2019/05/23 Python
Django实现发送邮件功能
2019/07/18 Python
Python爬虫简单运用爬取代理IP的实现
2020/12/01 Python
英国领先的露营和露营车品牌之一:OLPRO
2019/08/06 全球购物
财务专业大学生职业生涯规划范文
2013/12/30 职场文书
地质工程专业毕业生求职信
2014/08/08 职场文书
学校通报表扬范文
2015/05/04 职场文书
2015年中学团委工作总结
2015/07/22 职场文书