微信小程序 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中的prototype属性使用说明(函数功能扩展)
Aug 16 Javascript
基于jquery的下拉框改变动态添加和删除表格实现代码
Sep 12 Javascript
js改变img标签的src属性在IE下没反应的解决方法
Jul 23 Javascript
让人蛋疼的JavaScript语法特性
Sep 30 Javascript
js实现微博发布小功能
Jan 12 Javascript
vue 2.0组件与v-model详解
Mar 27 Javascript
基于jQuery和CSS3实现APPLE TV海报视差效果
Jun 16 jQuery
JS实现获取进今年第几天是周几的方法分析
Jun 27 Javascript
JavaScript设计模式之构造器模式(生成器模式)定义与用法实例分析
Jul 26 Javascript
js实现下拉框二级联动
Dec 04 Javascript
详解Vue组件之间通信的七种方式
Apr 14 Javascript
ES6 Iterator遍历器原理,应用场景及相关常用知识拓展详解
Feb 15 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
mysql_num_rows VS COUNT 效率问题分析
2011/04/23 PHP
PHP数组循环操作详细介绍 附实例代码
2013/02/03 PHP
Linux编译升级php的详细方法
2013/11/04 PHP
php代码检查代理ip的有效性
2016/08/19 PHP
利用浏览器全屏api实现js全屏
2014/01/16 Javascript
JS阻止用户多次提交示例代码
2014/03/26 Javascript
jQuery中:checkbox选择器用法实例
2015/01/03 Javascript
nodejs简单实现中英文翻译
2015/05/04 NodeJs
JavaScript易错知识点整理
2016/12/05 Javascript
js实现功能比较全面的全选和多选
2017/03/02 Javascript
angularjs实现上拉加载和下拉刷新数据功能
2017/06/12 Javascript
three.js实现3D影院的原理的代码分析
2017/12/18 Javascript
使用Angular CLI生成 Angular 5项目教程详解
2018/03/18 Javascript
详解Vue SSR( Vue2 + Koa2 + Webpack4)配置指南
2018/11/13 Javascript
深入解析vue 源码目录及构建过程分析
2019/04/24 Javascript
微信小程序实现注册登录功能(表单校验、错误提示)
2019/12/10 Javascript
Vue路由守卫及页面登录权限控制的设置方法(两种)
2020/03/31 Javascript
精读《Vue3.0 Function API》
2020/05/20 Javascript
vue 在methods中调用mounted的实现操作
2020/08/07 Javascript
[58:11]守擂赛第二周擂主赛 DeMonsTer vs Leopard
2020/04/28 DOTA
windows下安装python paramiko模块的代码
2013/02/10 Python
基于Python实现的扫雷游戏实例代码
2014/08/01 Python
解决Python中由于logging模块误用导致的内存泄露
2015/04/23 Python
Python3读取zip文件信息的方法
2015/05/22 Python
Python实现多进程的四种方式
2019/02/22 Python
django搭建项目配置环境和创建表过程详解
2019/07/22 Python
使用浏览器访问python写的服务器程序
2019/10/10 Python
Python: 传递列表副本方式
2019/12/19 Python
基于TensorFlow常量、序列以及随机值生成实例
2020/01/04 Python
聊聊Python pandas 中loc函数的使用,及跟iloc的区别说明
2021/03/03 Python
阿迪达斯香港官网:adidas香港
2019/11/09 全球购物
《雪地里的小画家》教学反思
2014/02/22 职场文书
房屋租赁合同解除协议书
2014/10/11 职场文书
先进教师个人事迹材料
2014/12/15 职场文书
浅谈Python响应式类库RxPy
2021/06/14 Python
Django框架中模型的用法
2022/06/10 Python