微信小程序开发常用语法和api
vue写习惯了,小程序太久不做,一些语法和api都忘记。本文总结下小程序常用的语法和api
语法
绑定事件和传参
绑定事件还有很多,触摸反馈事件,表单事件,媒体事件后续更新细说。
<!-- 绑定事件 bindtap 事件传参 data-参数名 --><view bind:tap="text" data-info="aaa">绑定事件</view>text(e){console.log('使用bindtap绑定事件触发',e.currentTarget.dataset.info);}
遍历
<!-- 循环 wx:key的作用和vue中类似 都是提高渲染效率,保证列表项状态的稳定的 --><view wx:for="{{demolist}}" wx:key="id"><view>{{item.id}}---{{item.message}}</view></view>demolist:[{id:1,message:'aaa'},{id:2,message:'bbb'},{id:3,message:'ccc'},]
条件渲染
<!-- 条件渲染 --><view wx:if="{{isShow}}" style="color: red;">组件1</view><view wx:else="" style="color: blue;">组件2</view><button bind:tap="toggle">切换显示</button>isShow:true
// 切换显示
toggle(){this.setData({isShow:!this.data.isShow})
},
页面跳转以及传参
接收参数在onLoad生命周期内,使用options接收。除了navigateTo外,还有reLaunch,redirectTo等也是实现页面跳转。后续更新细说它们之间的区别
<view bind:tap="toDetail">跳转detail页面</view>toDetail(){wx.navigateTo({url: '/pages/detail/detail?myid='+123,})},//detail页面onLoad(options) {console.log('options',options.myid);//123
}
生命周期
onReachBottom() {console.log('页面滚动到底部触发');},onReady() {console.log('页面加载完成触发');},onShow() {console.log('页面显示触发');},//注意需要在json文件中去开启 enablePullDownRefresh设置为trueonPullDownRefresh() {console.log('下拉刷新时触发');},onHide() {console.log('页面隐藏触发');},onUnload() {console.log('页面销毁时触发');},onPageScroll(e) {console.log('页面滚动触发', e);},onResize(res) {console.log('窗口尺寸发生变化触发', res);},onShareAppMessage() {console.log('点击分享按钮触发');},onShareTimeline() {console.log('点击右上角“分享到朋友圈”按钮时触发');},onAddToFavorites() {console.log('点击右上角“收藏”按钮时触发');},
配置底部导航栏
底部导航栏的配置主要在小程序的全局配置文件app.json中完成,通过tabBar来设置底部导航栏,最多五个,最少两个。属性依次为文本颜色,文本选中颜色,背景颜色,边框颜色,导航栏信息
{"pages": ["pages/home/home","pages/index/index","pages/logs/logs","pages/detail/detail","pages/mine/mine"], "window": {"navigationBarTextStyle": "black","navigationBarTitleText": "Weixin","navigationBarBackgroundColor": "#ffffff"},"tabBar": {"color": "#fff","selectedColor": "#FF5722","backgroundColor": "#22cfcf","borderStyle": "black","list": [{"pagePath": "pages/home/home","text": "首页"},{"pagePath": "pages/logs/logs","text": "日志"}]},"style": "v2","componentFramework": "glass-easel","sitemapLocation": "sitemap.json"}
API
提示框
<button bind:tap="tip">提示框</button>
tip(){wx.showToast({title: '这是提示框',icon:"error", //success loading error nonesuccess:()=>{console.log('提示框触发成功');}})},
加载loading
<button bind:tap="laoding">laoding</button>
laoding(){wx.showLoading({title: '加载中',})setTimeout(() => {wx.hideLoading();},1500);},
确认弹框
<button bind:tap="confrim">确认框</button>confrim(){wx.showModal({title: '确认框',content: '确定要执行吗',complete: (res) => {if (res.cancel) {console.log("点击了取消");}if (res.confirm) {console.log("点击了确定");}}})},
上传图片/视频
<button bind:tap="choseImg">上传图片/图片</button>choseImg(){wx.chooseMedia({count: 6, //最大上传个数mediaType: ['image','video'], //image只能拍摄图片或从相册选择图片 video只能拍摄视频或从相册选择视频 mix 可同时选择图片和视频sourceType: ['album', 'camera'], // album从相册选择 camera使用相机拍摄maxDuration: 30, //拍摄视频最长拍摄时间,单位秒。时间范围为 3s 至 60s 之间。不限制相册。camera: 'back', //back 使用后置摄像头 from 使用前置摄像头// 成功回调success(res) {console.log(res.tempFiles[0].tempFilePath)console.log(res.tempFiles[0].size)}})}
存储/读取本地数据
<button bind:tap="setToken">本地存储数据</button>
<button bind:tap="getToken">本地读取数据</button>setToken(){wx.setStorage({key: 'userInfo',data: {name: 'John',age: 25},success () {console.log('数据存储成功')}})},getToken(){wx.getStorage({key: 'userInfo',success (res) {console.log('获取到的数据', res.data)}})},
发起请求
<button bind:tap="sendReq">发起请求</button>sendReq(){wx.request({url: '请求地址',// 参数data: {key: 'value'},// 请求方式method: 'GET',success (res) {console.log(res.data)},fail (err) {console.error(err)}})},
下载文件
<button bind:tap="downfile">下载文件</button>downfile(){wx.downloadFile({url: '文件地址',success (res) {if (res.statusCode === 200) {// 下载成功,保存文件wx.saveFile({tempFilePath: res.tempFilePath,success (saveRes) {console.log('文件保存成功', saveRes.savedFilePath)}})}}})},
动态设置标题
<button bind:tap="setTitle">动态设置标题</button>setTitle(){wx.setNavigationBarTitle({title: '新的页面标题'})},
end
后续继续补充
相关文章:
微信小程序开发常用语法和api
vue写习惯了,小程序太久不做,一些语法和api都忘记。本文总结下小程序常用的语法和api 语法 绑定事件和传参 绑定事件还有很多,触摸反馈事件,表单事件,媒体事件后续更新细说。 <!-- 绑定事件 bindtap 事件传参 da…...
【时时三省】(C语言基础)选择结构程序综合举例
山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省 下面综合介绍几个包含选择结构的应用程序。 例题1: 写一程序,判断某一年是否为闰年。 程序1: 先画出判别闰年算法的流程图,见下图用变量le…...
Redis实现分布式定时任务
设计思路 任务表示:每个任务通过一个特定格式的键来表示。键名可以包含任务ID等信息,值可以是任务的具体内容或指向任务详情的引用。过期机制:利用Redis的EXPIRE命令为任务设置过期时间,当到达设定的时间点时,Redis会…...
File 类 (文件|文件夹操作)
一、File 类 1.1 前言 在 JDK 中 通过 java.io.File 类,可以实现操作系统重文件|文件夹的创建、删除、查看、重命名等操作。 1.2 File 类构造方法 File 一共提供了四个构造方法,都是有参构造。其中最常使用的是 File(String) 和 File(String, String)…...
Html页面Table表格导出导入Excel文件 xlsx.full
Html页面Table表格导出Excel文件 引用 xlsx.full.min.js 文件 导出 <!DOCTYPE html> <html> <head><meta charset"utf-8" /><title></title><script src"https://cdn.bootcdn.net/ajax/libs/jquery/3.6.3/jquery.min.j…...
【资料分享】瑞芯微RK3576,8核2.2GHz+6T算力NPU工业核心板说明书
核心板简介 创龙科技SOM-TL3576-S是一款基于瑞芯微RK3576J/RK3576高性能处理器设计的4核ARM Cor...
埃隆·马斯克如何通过开源创新塑造未来
李升伟 编译 埃隆马斯克的名字在多个行业回响——从电动汽车、太空探索到人工智能及更多领域。虽然许多人关注他革命性的公司(如特斯拉、SpaceX、Neuralink和The Boring Company),但较少有人意识到他在开源软件运动中悄然却深远的影响力。本…...
ALOPS智能化运维管理平台
AIOps(Artificial Intelligence for IT Operations)即智能运维,是将人工智能技术应用于 IT 运维管理领域,以实现自动化、智能化的运维决策和管理。以下是关于 AIOps 的详细介绍: 核心能力 数据收集与整合:…...
Hadoop文件操作指南:深入解析文件操作
1 Hadoop文件系统概述 Hadoop分布式文件系统(HDFS)是Hadoop生态的核心存储组件,专为大规模数据集设计,具有高容错性和高吞吐量特性。 HDFS核心特性: 分布式存储:文件被分割成块(默认128MB)分布存储多副本机制:每个块默认3副本&…...
使用Fortran读取HDF5数据
使用Fortran读取HDF5数据 下面我将介绍如何在Fortran中读取HDF5文件中的各种类型数组数据,包括一维数组、二维数组、元数组和变长数组。 准备工作 首先需要确保系统安装了HDF5库,并且在编译时链接了HDF5库。例如使用gfortran编译时: gfor…...
STM32 HAL库之EXTI示例代码
外部中断按键控制LED灯 在main.c中 HAL_Init(); 初始化Flash,中断优先级以及HAL_MspInit函数,也就是 stm32f1xx_hal.c 中 HAL_StatusTypeDef HAL_Init(void) {/* Configure Flash prefetch */ #if (PREFETCH_ENABLE ! 0) #if defined(STM32F101x6) || …...
通过C#将GB18030编码转义为UTF-8
使用C#代码,对于GB18030编码转义为UTF-8格式。 using System.Text;public class FileEncodingConverter {// 支持转换的文件扩展名列表(可根据需求扩展)private static readonly string[] SupportedExtensions { ".sln", ".…...
《TCP/IP网络编程》学习笔记 | Chapter 23:IOCP
《TCP/IP网络编程》学习笔记 | Chapter 23:IOCP 《TCP/IP网络编程》学习笔记 | Chapter 23:IOCP通过重叠 I/O 理解 IOCPepoll 和 IOCP 的性能比较实现非阻塞模式的套接字以纯重叠 I/O 方式实现回声服务器端重新实现客户端测试从重叠 I/O 模型到 IOCP 模型…...
Java学习打卡-Day25-注解和反射、Class类
注解(JDK5引入) 什么是注解? Java注解(Annotation),也叫元数据。一种代码级别的说明,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面…...
电感、互感器、变压器和磁珠综合对比——《器件手册--电感/线圈/变压器/磁珠篇》
三、电感/线圈/变压器/磁珠 名称 定义 特点...
CAD导入arcgis中保持面积不变的方法
1、加载CAD数据,选择面数据,如下: 2、加载进来后,右键导出数据,导出成面shp数据,如下: 3、选择存储路径,导出面后计算面积,如下: 4、与CAD中的闭合线面积核对…...
rustdesk自建服务器怎么填写客户端配置信息
目录 # id、api、中继都怎么填?rustdesk程序启动后服务不自动启动 # id、api、中继都怎么填? rustdesk程序启动后服务不自动启动 完全退出RudtDesk程序(右下角托盘区有的话,需要右键点退出) 创建windows服务ÿ…...
c++进阶之----智能指针
1.概念 在 C 中,智能指针是一种特殊的指针类型,它封装了裸指针(raw pointer)的行为,并通过 RAII(Resource Acquisition Is Initialization,资源获取即初始化)机制自动管理动态分配的…...
六、测试分类
设计测试用例 万能公式:功能测试性能测试界面测试兼容性测试安全性测试易用性测试 弱网测试:fiddler上行速率和下行速率 安装卸载测试 在工作中: 1.基于需求文档来设计测试用例(粗粒度) 输入字段长度为6~15位 功…...
Apollo源码总结
官方课程 项目源码 源码库简介: 1.apollo:算法库 2.apollo-kernel:改进LINUX内核。添加实时性补丁。 3. apollo-platform:改进ROS系统。去中心化,增加共享内存通信方式,兼容protobuf。 4.apollo-contrib&am…...
电感详解:定义、作用、分类与使用要点
一、电感的基本定义 电感(Inductor) 是由导线绕制而成的储能元件,其核心特性是阻碍电流变化,将电能转化为磁能存储。 基本公式: 自感电动势: E -L * (di/dt) (L:电感值,…...
AI编程案例拆解|基于机器学习XX评分系统-前端篇
文章目录 1. 定价使用DeepSeek估价小红书调研 2. 确定工作事项利用DeepSeek生成具体工作事项 3. 和客户沟通约会议沟通确定内容样式 4. 前端部分设计使用DeepSeek生成UI设计在Cursor中生成并提问前置条件开始编程 关注不迷路,励志拆解100个AI编程、AI智能体的落地应…...
java数组06:Arrays类
Arrays类 数组的工具类java.util. Arrays 由于数组对象本身并没有什么方法可以供我们调用,但API中是了一个工具类Arrays供我们使用,从而可以对数据对象进行一些基本的操作。 查看JDK帮助文档 Arrays类中的方法都是static修饰的静态方法,在使用的时候可以直接使用类名进行调用…...
TQTT_KU5P开发板教程---实现流水灯
文档实现功能介绍 本文档是学习本开发板的基础,通过设置计数器使led0到led7依次闪烁,让用户初步认识vivado基本的开发流程以及熟悉项目的创建。本开发板的所有教程所使用的软件都是vivado2024.1版本的。可以根据网上的教程下载与安装。 硬件资源 此次教程…...
Model Context Protocol(MCP)模型上下文协议
Model Context Protocol(MCP)模型上下文协议 前言一、什么是MCP二、MCP的作用三、MCP与Function call对比四、构建一个简单的MCP DEMO环境准备实现MCP Server运行 ServerMCP Client端配置验证 总结 前言 在Agent时代,将Agent确立为大模型未来…...
第十二章:FreeRTOS多任务创建与删除
FreeRTOS多任务创建与删除教程 概述 本教程介绍FreeRTOS多任务的创建与删除方法,主要涉及两个核心函数: 任务创建:xTaskCreate()任务删除:vTaskDelete() 实践步骤 1. 准备工程文件 复制005工程并重命名为006 2. 创建多个任务…...
Seed-Thinking-v1.5:字节豆包新推理模型发布,200B参数战胜Deepseek
摘要 本文引入了Seed-Thinking-v1.5,能够在响应之前通过思考进行推理,从而提高了各种基准测试的性能。Seed-Thinking-v1.5在AIME 2024上获得86.7分,在Codeforces上获得55.0分,在GPQA上获得77.3分,展示了优秀的STEM和编…...
C#.NET模拟用户点击按钮button1.PerformClick自动化测试
PerformClick英文词是什么意思,几个词组成 PerformClick 是一个由两个英文单词组成的合成词,下面为你分别解释每个部分的含义以及整个词在编程语境中的意义: 单个单词含义 Perform:它是一个动词,读音为 /pəˈfɔːm/ÿ…...
微服务之间调用外键“翻译”的方法概述
写在前面的话:减少strean流操作,减少多层嵌套for循环。使用普通for循环和map的方式进行转换, 第一步查询数据 List<Student> findList studentDao.findList(findMap); 第二步准备遍历和赋值 if(CollectionUtil.isNotEmpty(findLis…...
AIDD-人工智能药物设计-提升分子预测反事实解释可靠性
UQ 过滤:提升分子预测反事实解释可靠性 目录 I-INF 指标结合 F1 评分,为评估大分子复合物(包括 RNA-蛋白质)的界面相互作用网络提供了可靠且全面的新方法。通过使用生成的人工 CAR 序列微调蛋白质语言模型(PLM),显著提高了 CAR-T 细胞活性的预测准确性,有效克服了合成蛋…...
