小程序学习(一):点击爱心变色 -- 最简单的事件实现

最近在学习小程序,想通过写文章来记录自己的学习历程,希望能做到每周都写……

如何绑定一个事件

微信小程序中,绑定事件要在标签内写入这两段代码:

bindtap="fnActive"
data-favourite = "{{isLike}}"
复制代码

bindtap 有两层含义,tap 代表这是一个点击事件,bind 代表这个事件能被监听,同时 bindtap 是一个缩写,bind:tap 才是它完全的写法。tap 还有许多兄弟姐妹,我们可以在 这里 找到并认识他们,使用他们有助于我们实现更多的交互功能。

在确定了一个可被监听的事件后,自然是要提供一个js函数,来处理这个事件,这里我们提供了一个名为 fnActive 的函数。顺带一提,这个函数是写在js的 methods 里面的。既然有监听,那当然是要传参的啦,我们在 methods 中写一个 fnActive(e){ } , 这里的 e 是自定义的,但推荐写 event 或者 简写为 e ,如果你在函数中写一个 console.log(e); 就会看到如图:

输出了值,这些是页面参数的取值。

然后,data-favourite 增加一个新的从参数,data- 后面的名称是自定义的,这里我命名为 favourite ,它的值就随便定啦,但是我们不能把它写成 data - favourite(有空格),或者 data-favouriteLike(驼峰命名),这样是拿不到值的。写好之后就可以在控制台看到啦。它的位置是 target.dataset

如何写一个能点击变色的小爱心

怎样在页面中加入一个小爱心就不讲了,用图片或者iconfont都行。但值得一提的是,如果你的小爱心是一个组件的话,可以通过组件的形式引用 (试过几个方法,感觉 这个 最好)。

我使用方法是上述推荐的iconfont引入,直接贴代码啦

<view><iconfont type = "{{icon}}" bind:tap="fnActive"data-favourite = "{{isLike}}"class = "beforeSelected {{isLike === true ? 'active' : ''}}"></iconfont>
</view>
复制代码

我是通过css和三元表达式来实现爱心的变色的,那么怎样通过点击事件实现爱心变色呢

很简单,先在data中定义好我们的isLike

 data: {isLike:false,},
复制代码

再通过setData,修改isLike的数据

  methods: {fnActive(e){this.setData({isLike:!e.target.dataset.favourite})},}
复制代码

写到这里,爱心变色功能就十分简单地完成了(本来就很简单),之后会给这个功能加上计数器,以及简单的动画,让它变得更好康。

最后,本人是刚开始学代码的小白,若是大佬看到写的有错误,plz及时指正,勿喷,蟹蟹QAQ

转载于:https://juejin.im/post/5ca99e0f51882544191d85dd

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/449000.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安全通信

安全通信 应用层协议大多数自己都没有实现加解密功能&#xff0c;比如http等。http就是直接把数据加载进来然后做简单编码&#xff08;也就是流式化&#xff09;然后响应客户端&#xff0c;然后数据在浏览器展示&#xff0c;这个数据在传输过程是明文的&#xff0c;你截获就可以…

出现 java.lang.NullPointerException 的几种原因、可能情况

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。一般报 java.lang.NullPointerException的 原因有以下几种&#xff1a;1. 字符串变量未初始化 。 2. 接口类型的对象没有用具体的类初始化…

纯JPA 入门小案例(2)

2019独角兽企业重金招聘Python工程师标准>>> JPA中的主键生成策略 通过annotation&#xff08;注解&#xff09;来映射hibernate实体的,基于annotation的hibernate主键标识为Id, 其生成规则由GeneratedValue设定的.这里的id和GeneratedValue都是JPA的标准用法。 JPA…

spring IoC/DI

一、spring创建对象的三种方式&#xff1a;1、通过构造方法创建无参构造创建&#xff1a;默认情况有参构造创建&#xff1a;需要明确配置<constructor-arg>中配置index&#xff1a;参数索引name&#xff1a;参数名type&#xff1a;参数类型&#xff08;区分基本数据类型和…

并发不是并行,它更好!

原文链接&#xff0c;译文链接&#xff0c;译者&#xff1a;雷哥&#xff0c;饶命&#xff0c;校对&#xff1a;李任 现代社会是并行的&#xff1a;多核、网络、云计算、用户负载&#xff0c;并发技术对此有用。 Go语言支持并发&#xff0c;它提供了&#xff1a;并发执行&…

详解设计模式在Spring中的应用

设计模式作为工作学习中的枕边书&#xff0c;却时常处于勤说不用的尴尬境地&#xff0c;也不是我们时常忘记&#xff0c;只是一直没有记忆。 今天&#xff0c;在IT学习者网站就设计模式的内在价值做一番探讨&#xff0c;并以spring为例进行讲解&#xff0c;只有领略了其设计的思…

开大你的音响,感受HTML5 Audio API带来的视听盛宴

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 话说HTML5的炫酷真的是让我爱不释手&#xff0c;即使在这个提到IE就伤心不完的年代。但话又说回来&#xff0c;追求卓越Web创造更美世界…

Microsoft Visual Studio 2010(vs2010) 中文版安装

Microsoft Visual Studio 2010(vs2010) 中文版安装 日期&#xff1a;2019-05-12 时间&#xff1a;20:03:36 编辑&#xff1a;张国富 下载地址 基本简介 Microsoft Visual Studio&#xff08;vs2010是简称&#xff09;是微软公司推出的开发环境。visual studio 2010…

JVM的几点性能优化

HotSpot&#xff0c;家喻户晓的JVM&#xff0c;我们的Java和Scala程序就运行在它上面。年复一年&#xff0c;一次又一次的迭代&#xff0c;经过无数工程师的不断优化&#xff0c;现在它的代码执行的速度和效率已经逼近本地编译的代码了。 它的核心是一个JIT&#xff08;Just-I…

IDEA配置 及 快捷键

出处&#xff1a; https://www.cnblogs.com/hero123/p/10120552.html 快捷键&#xff1a; 格式化代码 CtrlaltL 后退Ctrlalt <- 格式化代码快捷键&#xff1a;Ctrl Alt L 删除整行&#xff1a;CtrlX 实现类 ctrl alt CtrlN 查找类 CtrlShiftN 查找文件 CTRLSHIFTALTN 查找…

LeetCode Decode Ways

123123转载于:https://www.cnblogs.com/ZHONGZHENHUA/p/10854545.html

SpringBoot 之集成 Spring AOP

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 在开始之前&#xff0c;我们先把需要的jar包添加到工程里。新增Maven依赖如下&#xff1a; <dependency><groupId>org.spri…

9件事把你从消极情绪中解救出来

也许你很难相信&#xff0c;但是情绪可以通过重复形成习惯。消极情绪甚至可以变成某种嵌入你每日生活的东西。 如何将它们赶跑? 你发现你不断地埋怨世界和自己?你可以轻易地生气并且对人变得刻薄?那愤怒又是否成为你对事情本能的回应了?如果你对所述问题中的一个回答了“是…

数据库主键自增插入显示值

版权声明&#xff1a;本文为博主原创文章&#xff0c;未经博主同意不得转载。 https://blog.csdn.net/nwsuaf2009012882/article/details/32703597 SQL Server 2008 数据库主键自增插入显示值 前几天在工作的时候遇到在删除数据库中表的数据的时候。删除之后&#xff0c;又一次…

解决: This application has no explicit mapping for /error, so you are seeing this as a fallback.

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 报错如题&#xff0c;出现这个异常说明了跳转页面的url无对应的值. 原因1: Application启动类的位置不对.要将Application类放在最外侧…

Selenium自动化获取WebSocket信息

性能日志 ChromeDriver支持性能日志记录&#xff0c;您可以从中获取域“时间轴”&#xff0c;“网络”和“页面”的事件&#xff0c;以及指定跟踪类别的跟踪数据。启用性能日志 默认情况下不启用性能日志记录。因此&#xff0c;在创建新会话时&#xff0c;您必须启用它。 Desir…

零负债之人的10个习惯

无论你是已下定决心要于今年实现零负债&#xff0c;还是距离这个目标的实现有很长的路要走&#xff0c;能受到启发总是好事。 看看你认识的已经过上“无债一身轻”生活的人──朋友、家人、同事或是你认为可能与其他无负债之人具有类似品质的人。 下文为无负债之人的10个共同…

《App后台开发运维与架构实践》第3章 App后台核心技术

2019独角兽企业重金招聘Python工程师标准>>> 3.1 用户验证方案 3.1.1 使用HTTPS协议 HTTPS协议是“HTTP协议”和“SSL/TLS”的组合。SSL&#xff08;Secure Sockets Layer&#xff09;&#xff0c;即安全套接层&#xff0c;是为了解决因HTTP协议是明文而导致传输内容…

IntelliJ IDEA 配置 JDK

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 提前安装jdk&#xff0c;配置环境变量 一、配置jdk 1、依次点开File -->Project Structure&#xff0c;点击左侧标签页&#xff0c…

xml编辑无提示?这么破!

在学习testng这个单元测试框架时&#xff0c;如果咱们碰到了编辑测试套件xml&#xff0c;不提示的情况&#xff08;有提示方便咱们学习&#xff0c;并且testng的测试套件定义必须按照他的dtd文件约束来&#xff09;&#xff0c;咱们可以按照下面的步骤去解决这个问题。 1.检查t…