微信小程序 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 相关文章推荐
JQuery扩展插件Validate—4设置错误提示的样式
Sep 05 Javascript
js判断变量是否未定义的代码
Mar 28 Javascript
让alert不出现弹窗的两种方法
May 18 Javascript
JQuery判断radio是否选中并获取选中值的示例代码
Oct 17 Javascript
JavaScript实现检查页面上的广告是否被AdBlock屏蔽了的方法
Nov 03 Javascript
node.js中的favicon.ico请求问题处理
Dec 15 Javascript
易被忽视的js事件问题总结
May 14 Javascript
详解如何使用webpack+es6开发angular1.x
Aug 16 Javascript
实现div滚动条默认最底部以及默认最右边的示例代码
Nov 15 Javascript
详解Vue路由自动注入实践
Apr 17 Javascript
vue-cli3项目配置eslint代码规范的完整步骤
Sep 10 Javascript
vue实现日历表格(element-ui)
Sep 24 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
如何选购合适的收音机
2021/03/01 无线电
php设计模式之单例、多例设计模式的应用分析
2013/06/30 PHP
Yii框架实现邮箱激活的方法【数字签名】
2016/10/18 PHP
javascript动态添加表格数据行(ASP后台数据库保存例子)
2010/05/08 Javascript
Node.js:Windows7下搭建的Node.js服务(来玩玩服务器端的javascript吧,这可不是前端js插件)
2011/06/27 Javascript
基于jquery实现图片广告轮换效果代码
2011/07/07 Javascript
关闭ie窗口清除Session的解决方法
2014/01/10 Javascript
JS实现响应鼠标点击动画渐变弹出层效果代码
2016/03/25 Javascript
解析JavaScript中的字符串类型与字符编码支持
2016/06/24 Javascript
通过网页查看JS源码中汉字显示乱码的解决方法
2016/10/26 Javascript
在vue项目中使用Nprogress.js进度条的方法
2018/01/31 Javascript
JS中原始值和引用值的储存方式示例详解
2018/03/23 Javascript
如何在Vue.js中实现标签页组件详解
2019/01/02 Javascript
Bootstarp在pycharm中的安装及简单的使用方法
2019/04/19 Javascript
Node.js从字符串生成文件流的实现方法
2019/08/18 Javascript
JS实现放烟花效果
2020/03/10 Javascript
[01:22:19]EG vs TNC Supermajor小组赛B组败者组第一轮 BO3 第二场 6.2
2018/06/03 DOTA
[01:37]PWL S2开团时刻DAY1&2——这符有毒
2020/11/20 DOTA
[55:35]DOTA2-DPC中国联赛 正赛 CDEC vs Dragon BO3 第二场 1月22日
2021/03/11 DOTA
Python的ORM框架SQLAlchemy入门教程
2014/04/28 Python
详解python基础之while循环及if判断
2017/08/24 Python
浅谈python中str字符串和unicode对象字符串的拼接问题
2018/12/04 Python
python快排算法详解
2019/03/04 Python
python导入坐标点的具体操作
2019/05/10 Python
python智联招聘爬虫并导入到excel代码实例
2019/09/09 Python
python实现的多任务版udp聊天器功能案例
2019/11/13 Python
Python绘制三角函数图(sin\cos\tan)并标注特定范围的例子
2019/12/04 Python
俄罗斯在线水暖商店:Perfecto.ru
2019/10/25 全球购物
运动会入场解说词300字
2014/01/25 职场文书
资助贫困学生倡议书
2014/05/16 职场文书
党支部创先争优活动总结
2014/08/28 职场文书
酒店辞职信怎么写
2015/02/27 职场文书
英语辞职信怎么写
2015/02/28 职场文书
Django debug为True时,css加载失败的解决方案
2021/04/24 Python
python中如何对多变量连续赋值
2021/06/03 Python
「女孩的钓鱼慢活」全新版权绘公布
2022/03/21 日漫