首页 > 编程语言 >前端【小程序】10-小程序基础篇【事件对象】

前端【小程序】10-小程序基础篇【事件对象】

时间:2024-04-18 15:46:04浏览次数:29  
标签:10 index color 前端 程序 20rpx height background page

事件处理

事件对象

  前面已经介绍过小程序事件监听的语法:bind:事件类型=事件回调,但是小程序的事件回调不支持传参数,因此要将模板中的数据传递到事件回调中就必须要通过事件对象来实现。

  小程序事件回调函数的第 1 个参数即为事件对象,事件对象中包括了一些有用的信息:

index.wxml

 1 <!-- 搜索框 -->
 2 <view class="search-bar">
 3   <input type="text" placeholder="输入搜索关键字" />
 4 </view>
 5 <!-- 页面主体 -->
 6 <view class="page-body">
 7   <scroll-view     scroll-y class="aside">
 8     <!-- 通过bind:tap="onChangeTab"绑定事件, 事件名称为onChangeTab, 通过自定义属性传参,然后js中通过事件对象e.target拿对应的值 -->
 9     <!-- <view class="item" bind:tap="onChangeTab" data-index="{{ 0 }}"></view> -->
10 
11     <!-- 通过 mark:index="{{ 0 }}" 传参,然后js中的方法通过第一个参数事件对象e.mark.index  拿到传的这个0-->
12     <!-- <view class="item" bind:tap="onChangeTab" mark:index="{{ 0 }}"></view> -->
13 
14     <view  class="item {{activeIndex === item ? 'active' : ''}}"  // 如果activeIndex与当前item的下标一致,就添加active类名,让其高亮显示
16       bind:tap="onChangeTab" 
17       mark:index="{{ index }}" 
18       wx:for="{{ 4 }}" 
19       wx:key="*this"
20     >
21       {{ item }}
22     </view>
23   </scroll-view>
24   <scroll-view     scroll-y  class="content">
25     <view class="item" wx:for="{{10}}" wx:key="*this"    bind:scrolltolower="onScrolltolower"></view>
26   </scroll-view>
27 </view>

index.wxss

 1 /* pages/events/index.wxss */
 2 page {
 3   padding: 0;
 4 }
 5 
 6 .search-bar {
 7   padding: 20rpx 30rpx;
 8   background-color:#fff;
 9 }
10 
11 .search-bar input {
12   padding-left: 40rpx;
13   border: 1rpx solid #eee;
14   border-radius: 70rpx;
15   font-size: 28rpx;
16   color: #333;
17 }
18 
19 .page-body {
20   height: 420rpx;
21   display: flex;
22   margin-top: 20rpx;
23 }
24 
25 .page-body .aside {
26   width: 200rpx;
27   padding: 20rpx;
28   background-color: #fff;
29 }
30 
31 .page-body .aside .item {
32   height: 60rpx;
33   margin-bottom: 20rpx;
34   border-radius: 10rpx;
35   background-color: #eee
36 }
37 
38 .page-body .aside .active {
39   background-color: pink;
40 }
41 
42 .page-body .content {
43   flex: 1;
44   padding: 20rpx;
45   margin-left: 20rpx;
46   background-color: #fff;
47 }
48 
49 .page-body .content .item {
50   float: left;
51   width: 215rpx;
52   height: 215rpx;
53   margin: 0 20rpx 20rpx 0;
54   border-radius: 10rpx;
55   background-color: #eee;
56 }
57 
58 .page-body .content .item:nth-child(even) {
59   margin-right: 0;
60 }
61 
62 .register {
63   margin-top: 20rpx;
64 }
65 
66 .register .form-field {
67   display: flex;
68   padding: 0 40rpx;
69   height: 88rpx;
70   line-height: 88rpx;
71   background-color: #fff;
72   color: #333;
73 }
74 
75 .register .form-field label {
76   width: 120rpx;
77 }
78 
79 .register .form-field .field {
80   flex: 1;
81 }
82 
83 .register .form-field input {
84   height: 60rpx;
85   border: none;
86 }
87 
88 .register button {
89   display: block;
90   height: 72rpx;
91   line-height: 72rpx;
92   margin: 20rpx 40rpx 0;
93 }

index.js

 1 Page({
 2   data:{
 3     activeIndex:0
 4   },
 5   onScrolltolower(){
 6      console.log('滚动触底了');
 7   },
 8   onChangeTab(e) {
 9     // console.log(e.target.dataset.index);   // data-index 传参的时候,获取自定义参数的方式
11     // console.log(e.mark.index);   // mark:index 传参的时候,获取自定义参数的方式
12     const { index } = e.mark
13     console.log(index);
14      // 保存当前点击的下标,用于高亮
15     this.setData({
16       activeIndex:index
17     })
18   }
19 })

 

标签:10,index,color,前端,程序,20rpx,height,background,page
From: https://www.cnblogs.com/wang1001/p/18143632

相关文章

  • SpringBoot 3.1.10 整合Mybatis-plus(快速学会)
    一、简介1、什么是Mybatis-plus?Mybatis-Plus(简称MP)是一个Mybatis的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生。官网:https://baomidou.com/2、Mybatis-plus特性无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动......
  • Alibaba Cloud Linux 3.2104 LTS 安装mysql5.7.39
    1上传mysql安装包到linux服务器tar-zxvfmysql-5.7.39-linux-glibc2.12-x86_64.tar.gzmvmysql-5.7.39-linux-glibc2.12-x86_64mysql5.72创建mysql用户groupaddmysqluseradd-gmysql-s/sbin/nologinmysqlchown-Rmysql:mysqlmysql5.7 ......
  • 程序与进程
    程序与进程什么是程序一组计算机能识别和执行的指令,用于指导计算机执行特定任务或解决特定问题。程序通常由代码、数据和资源文件组成,涉及语法、算法和数据结构。为二进制文件什么是进程是一个具有独立功能的程序关于某个数据集合的一次运行活动。作为系统进行资源分配和调度......
  • 实验6循环结构程序设计(for语句的应用)
    实验6循环结构程序设计(for语句的应用)一、实验目的1.熟练掌握三种循环语句并能正确运用;2.能够用循环实现一些常用算法,如穷举法,迭代法,递推法等;3.进一步学习程序调试;4.了解中国算法,百钱买百鸡。二、实验硬、软件环境Windows计算机、Devc6.0三、实验内容及步骤实验内容:项目......
  • c语言程序实验——实验报告六
    c语言程序实验————实验报告六实验项目名称:实验报告6循环结构程序设计(for语句的应用)实验项目类型:验证性实验日期:2024年4月15日一、实验目的1.熟练掌握三种循环语句并能正确运用;2.能够用循环实现一些常用算法,如穷举法,迭代法,递推法等;3.进一步学习程序调试;4.了解......
  • 软件工程是不是教会不怎么会写程序的人开发软件?你的观点?
    “Softwareengineering,ofcourse,presentsitselfasanotherworthycause,butthatiseyewash:ifyoucarefullyreaditsliteratureandanalysewhatitsdevoteesactuallydo,youwilldiscoverthatsoftwareengineeringhasacceptedasitscharter‘Howto......
  • 贝壳_程序设计实践_银行系统
    问题日期类日期间隔计算的实现distance函数运算符重载的实现类相互包含报错银行系统-5中Account与AccountRecord类类的编写原则例如常函数const运用原则常函数内无对数据修改的操作工程上,设计类的时候,一个原则就是,将对不改变数据的成员函数设计为常函数......
  • 1048 数字加密(前缀和思想)
    暴力(12分)#include<bits/stdc++.h>usingnamespacestd;constintinf=0x3f3f3f3f;#definelllonglonginta[100010];intmain(){ intn; cin>>n; for(inti=0;i<n;i++){ cin>>a[i]; } set<int>st; for(inti=0;i<n;i++){ ......
  • 1048 数字加密
    #include<bits/stdc++.h>usingnamespacestd;constintinf=0x3f3f3f3f;#definelllonglongchara[110],b[110];intcal[110],cal2[110];charcal3[110];intmain(){ cin>>a>>b; intp1=0,p2=0; for(inti=strlen(a)-1;i>=0;i--){ c......
  • 实验5循环结构程序设计(while、do-while语句的应用)
    实验5循环结构程序设计(while、do-while语句的应用)一、实验目的1.熟练掌握三种循环语句并能正确运用;2.能够用循环实现一些常用算法,如穷举法,迭代法,递推法等;3.进一步学习程序调试;4.了解中国算法,百钱买百鸡。二、实验硬、软件环境Windows计算机、Devc6.0三、实验内容及步骤项......