微信小程序 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网页制作特殊效果用随机数
May 22 Javascript
Jquery实战_读书笔记1—选择jQuery
Jan 22 Javascript
JQuery UI DatePicker中z-index默认为1的解决办法
Sep 28 Javascript
javascript getElementsByTagName
Jan 31 Javascript
js+html5实现canvas绘制网页时钟的方法
May 21 Javascript
jQuery中的一些小技巧
Jan 18 Javascript
AngularJS使用angular.bootstrap完成模块手动加载的方法分析
Jan 19 Javascript
Bootstrap实现基于carousel.js框架的轮播图效果
May 02 Javascript
详细AngularJs4的图片剪裁组件的实例
Jul 12 Javascript
javascript实现文本框标签验证的实例代码
Oct 14 Javascript
Vue加载json文件的方法简单示例
Jan 28 Javascript
jQuery实现简单聊天室
Feb 08 jQuery
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下载远程文件类(支持断点续传)
2008/11/14 PHP
php 接口类与抽象类的实际作用
2009/11/26 PHP
解析php session_set_save_handler 函数的用法(mysql)
2013/06/29 PHP
thinkphp循环结构用法实例
2014/11/24 PHP
Zend Framework教程之MVC框架的Controller用法分析
2016/03/07 PHP
PHP MySql增删改查的简单实例
2016/06/21 PHP
面向对象继承实例(a如何继承b问题)(自写)
2013/07/01 Javascript
jQuery对象的selector属性用法实例
2014/12/27 Javascript
js中键盘事件实例简析
2015/01/10 Javascript
Java Mybatis框架入门基础教程
2015/09/21 Javascript
JS获取浮动(float)元素的style.left值为空的快速解决办法
2017/02/19 Javascript
jQuery实现广告条滚动效果
2017/08/22 jQuery
解决在vue项目中,发版之后,背景图片报错,路径不对的问题
2018/03/06 Javascript
记一次webpack3升级webpack4的踩坑经历
2018/06/12 Javascript
Vue实现base64编码图片间的切换功能
2019/12/04 Javascript
微信小程序自定义顶部组件customHeader的示例代码
2020/06/03 Javascript
Electron实现应用打包、自动升级过程解析
2020/07/07 Javascript
python实现哈希表
2014/02/07 Python
使用FastCGI部署Python的Django应用的教程
2015/07/22 Python
Python学习小技巧之利用字典的默认行为
2017/05/20 Python
使用Eclipse如何开发python脚本
2018/04/11 Python
Django 连接sql server数据库的方法
2018/06/30 Python
Python解决线性代数问题之矩阵的初等变换方法
2018/12/12 Python
python pickle存储、读取大数据量列表、字典数据的方法
2019/07/07 Python
Python生态圈图像格式转换问题(推荐)
2019/12/02 Python
python实现ftp文件传输系统(案例分析)
2020/03/20 Python
Python通用唯一标识符uuid模块使用案例
2020/09/10 Python
Python通过递归函数输出嵌套列表元素
2020/10/15 Python
HTML5标签使用方法详解
2015/11/27 HTML / CSS
来自美国主售篮球鞋的零售商店:KICKSUSA
2017/11/28 全球购物
宏碁西班牙官网:Acer西班牙
2021/01/08 全球购物
应届护士求职信范文
2014/01/26 职场文书
篮球比赛通讯稿
2015/07/18 职场文书
Windows Server 2012配置DNS服务器的方法
2022/04/29 Servers
Python使用Opencv打开笔记本电脑摄像头报错解问题及解决
2022/06/21 Python
kubernetes集群搭建Zabbix监控平台的详细过程
2022/07/07 Servers