码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 小程序 | 小程序中常用的事件 + 事件对象的属性列表 +小程序事件传参 + 小程序全局配置 + 小程序页面配置 + 小程序发起网络数据请求


    文章目录

    • 一、WXML 模板语法
      • 数据绑定
      • 事件绑定
        • ⭐小程序中常用的事件
        • ⭐事件对象的属性列表
        • target 和 currentTarget 的区别
        • bindtap 的语法格式
        • 在事件处理函数中为 data 中的数据赋值
        • ⭐事件传参
        • bindinput 的语法格式
        • 实现文本框和 data 之间的数据同步
      • 条件渲染
        • wx:if
        • 结合`` 使用 wx:if
        • hidden
        • wx:if 与 hidden 的对比
      • 列表渲染
        • wx:for
        • wx:key 的使用
    • 二、WXSS 模板样式
      • rpx
      • 样式导入
      • 全局样式和局部样式
    • 三、全局配置
      • window
        • 了解 window 节点常用的配置项
        • 设置导航栏的标题
        • 设置导航栏的背景色
        • 设置导航栏的标题颜色
        • 全局开启下拉刷新功能
        • 设置下拉刷新时窗口的背景色
        • 设置下拉刷新时 loading 的样式
        • 设置上拉触底的距离
      • tabBar
        • 什么是tabBar
        • tabBar 的 6 个组成部分
        • tabBar 节点的配置项
        • List 中每个 tab 项的配置选项
      • 案例:配置 tabBar
    • 四、页面配置
      • 页面配置中常用的配置项
    • 五、网络数据请求
      • 配置 request 合法域名
      • 发起 GET 请求
      • 发起 POST 请求
      • 在页面刚加载时请求数据
      • 跳过 request 合法域名校验
      • 关于跨域和 Ajax 的说明

    • 能够使用 WXML 模板语法渲染页面结构
    • 能够使用 WXSS 样式美化页面结构
    • 能够使用 app.json 对小程序进行全局性配置
    • 能够使用 page.json 对小程序页面进行个性化配置
    • 能够知道如何发起网络数据请求

    一、WXML 模板语法

    数据绑定

    1. 在 data 中定义数据
      在页面对应的 .js 文件中,把数据定义到 data 对象中即可
      在这里插入图片描述

    2. 在 WXML 中使用数据
      把data中的数据绑定到页面中渲染,使用 Mustache 语法(双大括号)将变量包起来即可。直接使用即可!!!
      在这里插入图片描述

    Mustache 语法的主要应用场景如下:

    1. 动态绑定内容

    2. 绑定属性
      在这里插入图片描述

    3. 运算(三元运算、算术运算等)
      在这里插入图片描述

    如果要查看当前面板里的数据,可以用 调试器里面的 -> AppData

    算术运算:
    在这里插入图片描述

    事件绑定

    事件是渲染层到逻辑层的通讯方式。通过事件可以将用户在渲染层产生的行为,反馈到逻辑层进行业务的处理。
    在这里插入图片描述

    ⭐小程序中常用的事件

    类型 绑定方式 事件描述
    tap bindtap 或 bind:tap 手指触摸后马上离开,类似于 HTML 中的 click 事件
    input bindinput 或 bind:input 文本框的输入事件
    change bindchange 或 bind:change 状态改变时触发

    ⭐事件对象的属性列表

    当事件回调触发的时候,会收到一个事件对象 event,它的详细属性如下表所示

    属性 类型 说明
    type String 事件类型
    timeStamp Integer 数值类型 页面打开到触发事件所经过的毫秒数
    target Object 触发事件的组件的一些属性值集合
    currentTarget Object 当前组件的一些属性值集合
    detail Object 额外的信息
    touches Array 触摸事件,当前停留在屏幕中的触摸点信息的数组(几个手指在屏幕上)
    changedTouches Array 触摸事件,当前变化的触摸点信息的数组

    target 和 currentTarget 的区别

    target 是触发该事件的源头组件,而 currentTarget 则是当前事件所绑定的组件。
    在这里插入图片描述
    点击内部的按钮时,点击事件以冒泡的方式向外扩散,也会触发外层 view 的 tap 事件处理函数。

    此时,对于外层的 view 来说:

    • e.target 指向的是触发事件的源头组件,因此,e.target 是内部的按钮组件
    • e.currentTarget 指向的是当前正在触发事件的那个组件,因此,e.currentTarget 是当前的 view 组件

    bindtap 的语法格式

    在小程序中,不存在 HTML 中的 onclick 鼠标点击事件,而是通过tap 事件来响应用户的触摸行为。

    1. 通过 bindtap,可以为组件绑定 tap 触摸事件
      在这里插入图片描述
    2. 在页面的 .js 文件中定义对应的事件处理函数,事件参数通过形参 event(一般简写成 e) 来接收
      在这里插入图片描述

    在事件处理函数中为 data 中的数据赋值

    通过调用 this.setData(dataObject) 方法,可以给页面 data 中的数据重新赋值

    dataObject 是对象形式

    在这里插入图片描述

    ⭐事件传参

    小程序中的事件传参比较特殊,不能在绑定事件的同时为事件处理函数传递参数。例如,下面的代码将不能正常工作:
    在这里插入图片描述
    因为小程序会把 bindtap 的属性值,统一当作事件名称来处理,相当于要调用一个名称为 btnHandler(123) 的事件处理函数。

    • 可以为组件提供 data-* 自定义属性传参,其中 * 代表的是参数的名字
      在这里插入图片描述
      最终:

      • info 会被解析为参数的名字
      • 数值 2 会被解析为参数的值
    • 在事件处理函数中,通过 event.target.dataset参数名 即可获取到具体参数的值
      在这里插入图片描述

    bindinput 的语法格式

    在小程序中,通过 input 事件来响应文本框的输入事件,语法格式如下:

    1. 通过 bindinput,可以为文本框绑定输入事件
      在这里插入图片描述
    2. 在页面的 .js 文件中定义事件处理函数,用e.detail.value来获取文本框最新的值
      在这里插入图片描述

    实现文本框和 data 之间的数据同步

    实现步骤:

    1. 定义数据
      在这里插入图片描述

    2. 渲染结构
      在这里插入图片描述

    3. 美化样式
      在这里插入图片描述

    4. 绑定 input 事件处理函数
      在这里插入图片描述

    给input框加上一个value值【msg】value="{ {msg}}"
    然后给input框绑定输入事件bindinput
    当input输入变化的时候,就通过调用this.setDat修改【msg】的值
    通过e.detail.value让【msg】的值等于 当前input框最新的值

    条件渲染

    wx:if

    在小程序中,使用 wx:if="{ {condition}}" 来判断是否需要渲染该代码块

    也可以用 wx:elif 和 wx:else 来添加 else 判断

    // .wxml
    <view wx:if="{
        {type == 1}}">男view>
    <view wx:elif="{
        {type ==2}}">女view>
    <view wx:else>保密view>
    
    // .js
    Page({
       
    	data:{
       
    		
  • 相关阅读:
    SublimeText4 安装
    Mybatis 二级缓存(使用Redis作为二级缓存)
    软考高级信息系统项目管理师系列论文九:论信息系统项目的采购管理
    vue3 vite 打包 二级目录刷新空白
    Jenkins 页面部分显示Http状态403 被禁止
    k8s使用rbd作为存储
    UG NX二次开发(C++)-采用NXOpen方法创建同步建模中的偏置曲面
    Fiddler数据列表介绍
    攻防演练丨赛宁红方管控平台走进广东三地 助力数字政府网络安全建设
    hadoop使用笔记
  • 原文地址:https://blog.csdn.net/muziqwyk/article/details/127088477
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号