微信小程序 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关闭子窗体刷新父窗体实现方法
Dec 04 Javascript
深入理解javascript的执行顺序
Apr 04 Javascript
jquery幻灯片插件bxslider样式改进实例
Oct 15 Javascript
深入理解Java线程编程中的阻塞队列容器
Dec 07 Javascript
完善的jquery处理机制
Feb 21 Javascript
JS两个数组比较,删除重复值的巧妙方法(推荐)
Jun 03 Javascript
自己封装的一个简单的倒计时功能实例
Nov 23 Javascript
Vue2.0利用 v-model 实现组件props双向绑定的优美解决方案
Mar 13 Javascript
JavaScript判断浏览器和hack滚动条的写法
Jul 23 Javascript
JQuery Ajax跨域调用和非跨域调用问题实例分析
Apr 16 jQuery
JavaScript 严格模式(use strict)用法实例分析
Mar 04 Javascript
原生js实现弹幕效果
Nov 29 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
Terran剧情介绍
2020/03/14 星际争霸
PHP语言中global和$GLOBALS[]的分析 之二
2012/02/02 PHP
一个简单的网页密码登陆php代码
2012/07/17 PHP
Yii学习总结之安装配置
2015/02/22 PHP
详解WordPress开发中wp_title()函数的用法
2016/01/07 PHP
PHP 多任务秒级定时器的实现方法
2018/05/13 PHP
jQuery 对Select的操作备忘记录
2011/07/04 Javascript
Js如何判断客户端是PC还是手持设备简单分析
2012/11/22 Javascript
jquery的冒泡事件的阻止与允许(三种实现方法)
2013/02/01 Javascript
Extjs4 消息框去掉关闭按钮(类似Ext.Msg.alert)
2013/04/02 Javascript
jquery indexOf使用方法
2013/08/19 Javascript
jQuery 快速结束当前正在执行的动画
2013/11/20 Javascript
JS实现弹性菜单效果代码
2015/09/07 Javascript
js实现选中页面文字将其分享到新浪微博
2015/11/05 Javascript
浅谈使用MVC模式进行JavaScript程序开发
2015/11/10 Javascript
常见的javascript跨域通信方法
2015/12/31 Javascript
Node.js文件操作方法汇总
2016/03/22 Javascript
JQuery的常用选择器、过滤器、方法全面介绍
2016/05/25 Javascript
JS字符串统计操作示例【遍历,截取,输出,计算】
2017/03/27 Javascript
Javascript读写cookie的实例源码
2019/03/16 Javascript
详解Vue中的scoped及穿透方法
2019/04/18 Javascript
用jQuery实现抽奖程序
2020/04/12 jQuery
解决vue 给window添加和移除resize事件遇到的坑
2020/07/21 Javascript
python编程-将Python程序转化为可执行程序[整理]
2007/04/09 Python
你所不知道的Python奇技淫巧13招【实用】
2016/12/14 Python
使用Python实现租车计费系统的两种方法
2018/09/29 Python
python中entry用法讲解
2020/12/04 Python
Peter Millar官网:美国高档生活服饰品牌
2018/07/02 全球购物
美国医疗用品、医疗设备和家庭保健用品商店:Medical Supply Depot
2018/07/08 全球购物
精美的手工家居和生活用品:Nkuku
2019/11/01 全球购物
华为慧通面试题
2012/09/11 面试题
《雪地里的小画家》教学反思
2016/02/16 职场文书
pytorch通过训练结果的复现设置随机种子
2021/06/01 Python
总结Pyinstaller打包的高级用法
2021/06/28 Python
深入浅析python3 依赖倒置原则(示例代码)
2021/07/09 Python
MySQL 逻辑备份 into outfile
2022/05/15 MySQL