原生微信小程序基础语法--快速总结

没错换工作了 他们小程序竟然用的原生qaq总结复习一波

数据操作

数据初始值

Page({data: {milktea: [{ _id: 1,  name: '生打椰' },{ _id: 2,  name: '生打椰' },{ _id: 3,  name: '生打椰' },] },
}

列表渲染

<view wx:for="{{milktea}}" wx:key="_id"></view>
  1. wx:for 中,item 默认来接收数组项,index 默认来接收数组下标;
  2. 可以通过 wx:for-itemwx:for-index 来修改默认的 itemindex 变量名;

条件渲染

小程序中提供了 wx:ifwx:elifwx:else 来实现条件渲染:

<view wx:if="{{num > 0}}"></view>

文本渲染

<text>{{name}}</text>

修改数据

this.setData({currentId: 2,// ... 其他要修改的数据
})

获取数据

//在 .js 中如果需要获取 data 中的数据,必须通过 this.data.属性名 来获取:
console.log(this.data.currentId);

小程序事件和方法

页面的方法

Page({data: {},// 定义自己的方法changeCategory() {// 调用其他方法this.getData();},getData() {}
})

事件

小程序事件系统的官方文档地址:https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxml/event.html

类型

触发条件

touchstart

手指触摸动作开始

touchmove

手指触摸后移动

touchcancel

手指触摸动作被打断,如来电提醒,弹窗

touchend

手指触摸动作结束

tap

手指触摸后马上离开

longpress

手指触摸后,超过350ms再离开,如果指定了事件回调函数并触发了这个事件,tap事件将不被触发

绑定事件

小程序中是通过 bind 来绑定事件:

<button bindtap="changeCategory">切换分类</button>
<button bind:tap="changeCategory">切换分类</button>

事件传参

小程序中不能通过小括号的方式来实现事件传参。

小程序中提供了两种传参的方式:

  1. 自定义属性
  2. mark

这两种传参方式的思路是一样的,都是将要传递的数据绑定在元素的某一个属性上,然后在事件中来获取属性的值。

1.自定义属性

通过 data-xx 将数据添加为元素的自定义属性:

<view data-id="{{item._id}}"></view>

在事件方法中,通过 event 事件对象来获取数据:

Page({changeCategory(event) {console.log(event.currentTarget.dataset.id);}
})

2.mark

通过 mark:xx 将数据绑定在元素身上:

<view mark:id="{{item._id}}"></view>

在事件方法中,通过 event 事件对象来获取数据:

Page({changeCategory(event) {console.log(event.mark.id);}
})

生命周期

全局生命周期

  1. onLaunch(options)
    • 小程序初始化时触发(仅触发一次)。
    • 通常用来初始化全局数据、登录、检查更新等操作。
  1. onShow(options)
    • 小程序启动,或从后台进入前台时触发。
    • 常用于页面数据更新、统计用户访问等场景。
  1. onHide()
    • 小程序从前台进入后台时触发。
    • 可用来保存数据或暂停任务。
  1. onError(error)
    • 小程序发生脚本错误或 API 调用失败时触发。
    • 适合用来做错误上报。
  1. onPageNotFound(res)
    • 当跳转到不存在的页面时触发(仅首次打开时有效)。
    • 可以用来引导用户到其他页面。

页面生命周期

  1. onLoad(options)
    • 页面初始化时触发(只触发一次)。
    • 常用来接收页面跳转的参数或初始化数据。
  1. onShow()
    • 页面显示时触发(每次进入页面都会触发)。
    • 适合做页面刷新或数据重新加载。
  1. onReady()
    • 页面初次渲染完成时触发(只触发一次)。
    • 一般用于获取页面元素节点或初始化第三方组件。
  1. onHide()
    • 页面隐藏时触发(切换到其他页面或返回上一页时触发)。
    • 可用来保存页面状态或暂停任务。
  1. onUnload()
    • 页面卸载时触发(如用户返回或关闭小程序时)。
    • 适合做资源释放或页面清理工作。
  1. onPullDownRefresh()
    • 用户下拉页面时触发(需在 json 文件中开启 enablePullDownRefresh)。
    • 常用于刷新页面数据。
  1. onReachBottom()
    • 页面滚动到底部时触发。
    • 适合做分页加载数据。
  1. onShareAppMessage()
    • 用户点击右上角分享时触发。
    • 可自定义分享内容。
  1. onPageScroll()
    • 页面滚动时触发,返回滚动距离。
    • 可用来做滚动动画或返回顶部按钮的显示与隐藏。
  1. onResize()
  • 页面尺寸变化时触发(如横竖屏切换)。
  1. onTabItemTap(item)
  • 点击 tab 切换时触发(仅对 tabBar 页面生效)。

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

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

相关文章

StarRocks 主键(Primary Key)深度解析

一、StarRocks 产品简介 StarRocks 是一款高性能分析型数据库&#xff0c;专为海量数据的实时分析而设计。作为新一代湖仓&#xff08;Lakehouse&#xff09;加速引擎&#xff0c;StarRocks 融合了 MPP 架构和列式存储引擎的优势&#xff0c;能够支持亿级数据秒级查询响应。 …

(学习总结30)Linux 进程优先级、进程切换和环境变量

Linux 进程优先级、进程切换和环境变量 进程优先级基本概念查看系统进程PRI 和 NI 解释进程优先级调整命令行调整进程优先级调整新进程调度优先级命令 nice调整已运行进程调度优先级命令 renice 使用 top 调整进程优先级使用系统调用调整进程优先级 进程的竞争、独立、并行、并…

《Manus学习手册》.pdf(文末附完整版下载地址)

大家好&#xff0c;我是吾鳴。 吾鳴今天要给大家分享的一份比较全面详细的Manus学习手册&#xff0c;该学习手册主要包含Manus产品概述与核心理念、Manus功能与使用场景、Manus技术架构与工作流、Manus案例库与用户实践、邀请码获取与内测信息、Manus与传统AI对比与优势、用户评…

【MySQL】从零开始:掌握MySQL数据库的核心概念(三)

人生碌碌&#xff0c;竞短论长&#xff0c;却不道枯荣有数&#xff0c;得失难量。 前言 这是我自己学习MySQL数据库的第二篇博客总结。后期我会继续把MySQL数据库学习笔记开源至博客上。 上一期笔记是关于MySQL数据库的数据类型&#xff0c;没看的同学可以过去看看&#xff1a…

Web3智能合约与数据交互安全性探讨

Web3智能合约与数据交互安全性探讨 随着区块链技术的飞速发展&#xff0c;Web3的概念已经成为技术圈的热门话题。Web3不仅仅是技术迭代&#xff0c;它代表了一种全新的互联网交互方式&#xff0c;其中智能合约扮演着核心角色。智能合约是自动执行、控制或文档化法律事件和行动…

人工智能赋能山西乡村振兴:智能空间规划与可持续发展

摘要&#xff1a;随着人工智能技术的快速发展&#xff0c;山西乡村振兴面临着从传统农业到智能化现代化转型的重大机遇。本文探讨了人工智能在山西乡村振兴中的具体应用&#xff0c;重点分析了智能空间规划、生态保护与环境治理、产业转型以及基础设施升级的可能路径。文章从数…

QT三 自定义控件

一 自定义控件 现在的需求是这样&#xff1a; 假设我们要在QWidget 上做定制&#xff0c;这个定制包括了关于 一些事件处理&#xff0c;意味着要重写QWidget的一些代码&#xff0c;这是不实际的&#xff0c;因此我们需要自己写一个MyWidget继承QWidget&#xff0c;然后再MyWi…

【C++ 进阶】语句:从基础到实践

目录 一、输入输出体系的范式革命 1.1 C语言的格式化 1.2 C的流抽象革命 二、字符串处理的抽象跃迁 2.1 C语言的字符指针 2.2 C的string类革命 三、结构体到类的类型系统进化 3.1 C语言的结构体局限 3.2 C类的革命性演进 四、基础控制语句差异 4.1 条件语句&#xf…

C语言操作符

&#x1f31f; 各位看官好&#xff0c;我是maomi_9526&#xff01; &#x1f30d; 种一棵树最好是十年前&#xff0c;其次是现在&#xff01; &#x1f680; 今天来学习C语言的相关知识。 &#x1f44d; 如果觉得这篇文章有帮助&#xff0c;欢迎您一键三连&#xff0c;分享给更…

PostgreSQL:语言基础与数据库操作

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;https://literature.sinhy.com/#/?__c1000&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;精通Java编…

KMP算法

KMP算法 为什么叫做KMP呢。 因为是由这三位学者发明的&#xff1a;Knuth&#xff0c;Morris和Pratt&#xff0c;所以取了三位学者名字的首字母。所以叫做KMP next数组就是一个前缀表&#xff08;prefix table&#xff09;。 前缀表是用来回退的&#xff0c;它记录了模式串与…

3D点云数据处理中的聚类算法总结

1.欧式聚类&#xff1a; 基于点的空间距离&#xff08;欧几里得距离&#xff09;来分割点云&#xff0c;将距离较近的点归为同一簇。 欧式聚类需要的参数&#xff1a;邻域半径R,簇的最小点阈值minPts&#xff0c;最大点数阈值maxPts。 实现效率&#xff1a; O(n * log n) 实现…

WRC世界机器人大会-2024年展商汇总

2024世界机器人大会 时间&#xff1a;2024年8月21日至25日 地点&#xff1a;北京经济技术开发区北人亦创国际会展中心 大会主题&#xff1a;共育新质生产力&#xff0c;共享智能新未来 2024世界机器人博览会亮点纷呈&#xff0c;20余款人形机器人整机将亮相博览会&#xff…

拉取镜像,推送到阿里云镜像仓库

需求背景&#xff1a;在学习k8s&#xff0c;虚拟机无法正常拉取 wangyanglinux/tools:busybox 镜像。 解决办法&#xff1a;将墙外镜像拉到国内&#xff08;阿里云&#xff09;再使用 准备工作需要创建对应的镜像仓库&#xff0c;然后再进行推送 1. 拉取镜像 docker pull …

DeepSeek和Kimi在Neo4j中的表现

以下是2个最近爆火的人工智能工具&#xff0c; DeepSeek:DeepSeek Kimi: Kimi - 会推理解析&#xff0c;能深度思考的AI助手 1、提示词&#xff1a; 你能帮我生成一个知识图谱吗&#xff0c;等一下我会给你一篇文章&#xff0c;帮我从内容中提取关键要素&#xff0c;然后以N…

哈尔滨工业大学DeepSeek公开课人工智能:大模型原理 技术与应用-从GPT到DeepSeek|附视频下载方法

导 读INTRODUCTION 今天继续哈尔滨工业大学车万翔教授带来了一场主题为“DeepSeek 技术前沿与应用”的报告。 本报告深入探讨了大语言模型在自然语言处理&#xff08;NLP&#xff09;领域的核心地位及其发展历程&#xff0c;从基础概念出发&#xff0c;延伸至语言模型在机器翻…

redis解决缓存穿透/击穿/雪崩

文章目录 1.缓存穿透1.1 概念1.2 解决方案1.2.1 缓存空对象1.2.2 布隆过滤 1.2 店铺查询使用缓存穿透解决方案1.2.1 流程 2.缓存雪崩2.1 什么是缓存雪崩&#xff1f;2.2 雪崩解决方案 3.缓存击穿3.1 什么是缓存击穿&#xff1f;3.2解决方案3.2.1 基于互斥锁解决缓存击穿问题&am…

不连续平面提取

不连续平面提取 提取流程 #mermaid-svg-Y87uP8WsVRmPYriG {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-Y87uP8WsVRmPYriG .error-icon{fill:#552222;}#mermaid-svg-Y87uP8WsVRmPYriG .error-text{fill:#552222;s…

大语言模型-2.2/3-主流模型架构与新型架构

简介 本博客内容是《大语言模型》一书的读书笔记&#xff0c;该书是中国人民大学高瓴人工智能学院赵鑫教授团队出品&#xff0c;覆盖大语言模型训练与使用的全流程&#xff0c;从预训练到微调与对齐&#xff0c;从使用技术到评测应用&#xff0c;帮助学员全面掌握大语言模型的…

数据库操作练习

一.向heros表中新增一列信息&#xff0c;添加一些约束&#xff0c;并尝试查询一些信息 //向表中添加一列age信息 alter table heros add column age int;//id列添加主键约束&#xff0c;设置自增 alter table heros modify column id int auto_increment primary key;//name列…