小程序如何用data的数据控制页面展示_17. 教你零基础搭建小程序:小程序事件绑定(1)

本章以及下一章学习小程序的事件绑定,我们通过一个案例来讲解其中相关的知识点,便于大家理解哦~~

首先,先来看这个案例的需求。

我们使用画图工具,先在上面绘制一个小程序页面,如下图:

f936a49aeeb3fb1733f1ce226253edbd.png

再在页面的最上方放一个输入框,如下图:

9830fb3127b440de2eb136b62831d790.png

我们要实现的第一个需求是

当我在输入框中输入文字,比如123,

会如实地映射至下面的标签文件中,显示123;

如果上方的输入框文字改变,对应下方的标签文件也发生相应的改变。

72b4d13bdd74756ff63005c27f12f7a5.png

如下图所示,页面右侧是一个“+”号按钮,点击按钮,实现对标签文件数字 123 + 1;

页面右侧下方是一个“-”按钮,点击按钮,实现对标签文件数字 123 - 1

这就是我们要实现的第二个需求。

2de5109a91d046aad8ad6c50e2290935.png

明确需求后,接下来我们就写代码来实现这两个需求。

由于篇幅较长,会分为两篇文章来讲解,这章先讲第一个需求。

1、 新增一个页面 demo04

打开 app.json 文件,新增文件 demo04 ,保存。

2、demo04. js文件中,只保留 data 部分,删除其他原有数据,

并添加“num : 0”, 如下图:

e69b3acec0e1e1338df9f68f3b247df9.png

3、demo04. wxml 文件,删除其中的原有内容,加入 input 标签,代码如下

这里要注意的一点是,上述代码中,input 标签中“/”是不能遗漏的,否则会报错!

保存后,发现右侧的小程序页面并没有发生变化,那它在哪呢?

这时,我们只需要将鼠标移至页面顶端,

点击,输入1234 ,数字就可在页面中显示。

操作如下图。

82bc3b9cbb7157465425b9aa48f3fa1c.png

4、demo04. wxml 文件中,添加 view 标签,代码如下

{{num}}

保存,右侧页面显示 0

6f3d55bff9ddfa860f919523b64f3a6b.png

我们要实现第一个需求,即在小程序页面的输入框中输入123,在下面(0这一行)也显示相同的文本123

这就需要我们将input 标签绑定 input 事件,

而且这个事件是只有在输入框的值发生变化的时候才会触发。

所以,这里,我们要用的绑定关键字为 bindinput

5、绑定一个 input 事件。

将 input 标签 修改如下

{{num}}

"" 内是要加入一个函数,也就是 handleinput 后要绑定一个函数。

6、在demo04. js 文件中,写入 handleinput 要绑定的这个函数,与data 同层。代码如下:

Page({  data: {    num:0},//输入框的input事件的执行逻辑 handleinput(e){ console.log(""); }})

7、将上述代码中的 handleinput 函数粘贴至 input 标签,此时就完成了对 input 事件的绑定。

{{num}}

8、点击小程序页面,在输入框内输入 1 ,观察控制台的变化,

如下图,控制台出现”“,

43bbea8ab1de8f954333e870da678c18.png

此时,我们在输入框中输入 2 ,控制台显示 3”“

这表示,”” 累计触发3次,这表示事件已经绑定成功。

0df94f5a452b1b724beb75cfd9b7bd05.png

成功绑定事件后,那接下来如何获取输入框的值,并将其放至demo04. js 文件中的 data 部分中呢?

这就需要通过事件源对象来获取对象“e

9、修改demo04. js 文件中 console.log 的内容,

将这样

f58fef6c196fb04e939a939004ac34c0.png

修改成这样:

1d9606e8dcc3cb3e1544865fd7085fce.png

10、保存后,回到小程序页面,在输入框中输入 1 ,

可观察到下图控制台 console - detail 部分,value = 1,

所以这里的源对象就为 e.detail.value

301b934406f76f7f298ce898ffc30833.png

11、将源对象 e.detail.value 复制至 demo04.js文件—

修改 data部分 -console.log (e.detail.value) ,

具体如下:

7a79d32bd40ecc7ad9905505b0c805a2.png

12、在小程序页面的输入框中输入 1234 ,会发现控制台也会出现对应的数字 1234,

如下图:

73a987eb0adcff0128f473dcc011263e.png

13、最后一步,我们需要将 源对象 e.detail.value 与 num 值产生联系。

方法是,将输入框中的值直接赋值至data 中,在demo04.js 中,修改代码如下:

Page({  data: {    num:0 }, //输入框的input事件的执行逻辑 handleinput(e){ //console.log(e.detail.value); this.setData({      num:e.detail.value }) }})

保存后,在小程序页面的输入框输入 123456 下面的一行也会随之改变。

3063a25878b95dee19dab47768b37816.png

输入框的值也可在控制台— AppData —— num 中 看到 更新

19128d5ee53982648b05cd3cc829cba7.png

经过以上13个步骤,我们成功实现了开始时说的第一个需求:

当我在输入框中输入文字,比如123,

会如实地映射至下面的标签文件中,显示123;

如果上方的输入框文字改变,对应下方的标签文件也发生相应的改变。

第二个需求的具体操作,请关注我们下一章的讲解~~~

搜索并关注微信公众号:飞寝旺食

获取更多小程序运营干货、免费的开发教程、源代码等!

做小程序我们是认真的!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值