小程序Day02总结

小程序基础基础1 小程序制作基础学习 阅读详情

目录

1  WXML 模板语法

1.1 数据绑定

 1.2 事件绑定

1.3条件渲染

1.4 列表渲染

2  WXSS 模板样式

 2.1 全局样式和局部样式

3  全局配置

3.1 window

3.2 tabBar 

4  页面配置

5 网络数据请求

备注:初学者学习总结!侵删!感谢!


1  WXML 模板语法

1.1 数据绑定

1 在 data 中定义数据(.js文件,把数据定义到data对象中)

 

2 在 WXML 中使用数据(使用 Mustache 语法(双大括号)将变量包起来即可。)

 

3. Mustache 语法的应用场景

        绑定内容   绑定属性   运算(三元运算、算术运算等)

4 动态绑定内容

 5 动态绑定属性

 

 

6 三元运算

 

 

 1.2 事件绑定

1. 什么是事件

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

 2 . 小程序中常用的事件

类型

绑定方式

事件描述

tap

bindtap 或 bind:tap

手指触摸后马上离开,类似于 HTML 中的 click 事件

input

bindinput 或 bind:input

文本框的输入事件

change

bindchange 或 bind:change

状态改变时触发

3. 事件对象的属性列表

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

属性

类型

说明

type

String

事件类型

timeStamp

Integer

页面打开到触发事件所经过的毫秒数

target

Object

触发事件的组件的一些属性值集合

currentTarget

Object

当前组件的一些属性值集合

detail

Object

额外的信息

touches

Array

触摸事件,当前停留在屏幕中的触摸点信息的数组

changedTouches

Array

触摸事件,当前变化的触摸点信息的数组

4. target 和 currentTarget 的区别

target 是触发该事件的源头组件,而 currentTarget 则是当前事件所绑定的组件

5 bindtap 的语法格式

通过 tap 事件来响应用户的触摸行为。

1 通过 bindtap,可以为组件绑定 tap 触摸事件,

2 在页面的 .js 文件中定义对应的事件处理函数,事件参数通过形参 event(一般简写成 e) 来接收

 

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

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

 7. 事件传参 

可以为组件提供 data-* 自定义属性传参,其中 * 代表的是参数的名字

 info 会被解析为参数的名字  数值 2 会被解析为参数的值

8. bindinput 的语法格式

通过 input 事件来响应文本框的输入事件,

        1 通过 bindinput,可以为文本框绑定输入事件:

        2 在页面的 .js 文件中定义事件处理函数:

1.3条件渲染

 1. wx:if

使用wx:if="{{condition}}" 来判断是否需要渲染该代码块:

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

2. 结合 <block> 使用 wx:if

如果要一次性控制多个组件的展示与隐藏,可以使用一个 <block></block> 标签将,

多个组件包装起来,并在<block> 标签上使用 wx:if 控制属性,

 

 注意: <block> 并不是一个组件,它只是一个包裹性质的容器,不会在页面中做任何渲染。

3. hidden

直接使用 hidden="{{ condition }}" 也能控制元素的显示与隐藏:

 4. wx:if 与 hidden 的对比

  • 运行方式不同  

wx:if 以动态创建和移除元素的方式,控制元素的展示与隐藏

 hidden 以切换样式的方式(display: none/block;),控制元素的显示与隐藏

  • 使用建议  

频繁切换时,建议使用 hidden  

控制条件复杂时,建议使用 wx:if 搭配 wx:elif、wx:else 进行展示与隐藏的切换

1.4 列表渲染

1. wx:for

通过 wx:for 可以根据指定的数组,循环渲染重复的组件结构,

 默认情况下,当前循环项的索引用 index 表示;当前循环项用 item 表示。

2. 手动指定索引和当前项的变量名*

使用 wx:for-index 可以指定当前循环项的索引的变量名  使用 wx:for-item 可以指定当前项的变量名

 3. wx:key 的使用

小程序在实现列表渲染时,也建议为渲染出来的列表项指定唯一的 key 值,从而提高渲染的效率,

2  WXSS 模板样式

WXSS (WeiXin Style Sheets)是一套样式语言,用于美化 WXML 的组件样式,类似于网页开发中的 CSS

与 CSS 相比,WXSS 扩展的特性有:  

        rpx 尺寸单位  

        @import 样式导入

设备

rpx换算px (屏幕宽度/750)

px换算rpx (750/屏幕宽度)

iPhone5

1rpx = 0.42px

1px = 2.34rpx

iPhone6

1rpx = 0.5px

1px = 2rpx

iPhone6 Plus

1rpx = 0.552px

1px = 1.81rpx

@import 后跟需要导入的外联样式表的相对路径,用 ; 表示语句结束。

 2.1 全局样式和局部样式

1. 全局样式:定义在 app.wxss 中的样式为全局样式,作用于每一个页面。

2. 局部样式:在页面的 .wxss 文件中定义的样式为局部样式,只作用于当前页面。

注意: 当局部样式和全局样式冲突时,根据就近原则,局部样式会覆盖全局样式

            当局部样式的权重大于或等于全局样式的权重时,才会覆盖全局的样式

3  全局配置

1. 全局配置文件及常用的配置项

小程序根目录下的 app.json 文件是小程序的全局配置文件。常用的配置项如下:

  •  pages 记录当前小程序所有页面的存放路径  
  • window 全局设置小程序窗口的外观  
  • tabBar 设置小程序底部的  tabBar 效果
  •  style 是否启用新版的组件样式

3.1 window

 window 节点常用的配置项:

属性名

类型

默认值

说明

navigationBarTitleText

String

字符串

导航栏标题文字内容

navigationBarBackgroundColor

HexColor

#000000

导航栏背景颜色,如 #000000

navigationBarTextStyle

String

white

导航栏标题颜色,仅支持 black / white

backgroundColor

HexColor

#ffffff

窗口的背景色

backgroundTextStyle

String

dark

下拉 loading 的样式,仅支持 dark / light

enablePullDownRefresh

Boolean

false

是否全局开启下拉刷新

onReachBottomDistance

Number

50

页面上拉触底事件触发时距页面底部距离,

单位为px

3.2 tabBar 

1. 什么是 tabBar

tabBar 是移动端应用常见的页面效果,用于实现多页面的快速切换。

程序中通常将其分为:   底部 tabBar       顶部 tabBar

注意:

tabBar中只能配置最少 2 个、最多 5 个 tab 页签

当渲染顶部 tabBar 时,不显示 icon,只显示文本

2. tabBar 的 6 个组成部分

  1.  backgroundColor:tabBar 的背景色  
  2. selectedIconPath:选中时的图片路径
  3.  borderStyle:tabBar 上边框的颜色  
  4. iconPath:未选中时的图片路径  
  5. selectedColor:tab 上的文字选中时的颜色  
  6. color:tab 上文字的默认(未选中)颜色

3. tabBar 节点的配置项

属性

类型

必填

默认值

描述

position

String

bottom

tabBar 的位置,仅支持 bottom/top

borderStyle

String

black

tabBar 上边框的颜色,仅支持 black/white

color

HexColor

tab 上文字的默认(未选中)颜色

selectedColor

HexColor

tab 上的文字选中时的颜色

backgroundColor

HexColor

tabBar 的背景色

list

Array

tab 页签的列表,

最少 2 个、最多 5 个 tab

4. 每个 tab 项的配置选项

属性

类型

必填

描述

pagePath

String

页面路径,页面必须在 pages 中预先定义

text

String

tab 上显示的文字

iconPath

String

未选中时的图标路径;当 postion 为 top 时,不显示 icon

selectedIconPath

String

选中时的图标路径;当 postion 为 top 时,不显示 icon

4  页面配置

1. 页面配置文件的作用

小程序中,每个页面都有自己的 .json 配置文件,用来对当前页面的窗口外观、页面效果等进行配置。

2. 页面配置和全局配置的关系

小程序中,app.json 中的 window 节点,可以全局配置小程序中每个页面的窗口表现。

如果某些小程序页面想要拥有特殊的窗口表现,此时,“页面级别的 .json 配置文件”就可以实现这种需求。

注意:当页面配置与全局配置冲突时,根据就近原则,最终的效果以页面配置为准。 

属性

类型

默认值

描述

navigationBarBackgroundColor

HexColor

#000000

当前页面导航栏背景颜色,

如 #000000

navigationBarTextStyle

String

white

当前页面导航栏标题颜色,

仅支持 black white

navigationBarTitleText

String

当前页面导航栏标题文字内容

backgroundColor

HexColor

#ffffff

当前页面窗口的背景色

backgroundTextStyle

String

dark

当前页面下拉 loading 的样式,

仅支持 dark / light

enablePullDownRefresh

Boolean

false

是否为当前页面开启下拉刷新的效果

onReachBottomDistance

Number

50

页面上拉触底事件触发时

距页面底部距离,单位为 px

5 网络数据请求

1. 小程序中网络数据请求的限制

出于安全性方面的考虑,小程序官方对数据接口的请求做出了如下两个限制:

只能请求 HTTPS 类型的接口

必须将接口的域名添加到信任列表中

2. 配置 request 合法域名

3. 发起 GET 请求——调用微信小程序提供的 wx.request() 方法,可以发起 GET 数据请求,

4. 发起 POST 请求

调用微信小程序提供的 wx.request() 方法,可以发起 POST 数据请求

 5. 在页面刚加载时请求数据

在很多情况下,我们需要在页面刚加载的时候,自动请求一些初始化的数据。

此时需要在页面的 onLoad 事件中调用获取数据的函数

 6. 关于跨域和 Ajax 的说明

 跨域问题只存在于基于浏览器的 Web 开发中。由于小程序的宿主环境不是浏览器,而是微信客户端,所以小程序中不存在跨域的问题

Ajax 技术的核心是依赖于浏览器中的 XMLHttpRequest 这个对象,由于小程序的宿主环境是微信客户端,所以小程序中不能叫做“发起 Ajax 请求”,而是叫做“发起网络数据请求”。

备注:初学者学习总结!侵删!感谢!

微信小程序实训 Day 02 实习日志 今天老师开始讲了微信小程序。 但是今天设备出了一些事情,所以耽误了蛮多时间。 1.在百度搜索微信平台公众官网,然后进入之后登录,点击普通小程序开发者工具,下载稳定版的64位微信小程序开发软件。 2.出了一些意外,但是老师讲了一下这个骰子布局,我们学习了这个博客里的。 骰子布局语法 http://www.ruanyifeng.com/blog/2015/07/flex-gramm... 阅读详情

相关推荐

ArduPilot 的 RTOS 选择:为何 ChibiOS 成为现代飞控的首选

本文深入探讨了ArduPilot选择ChibiOS作为现代飞控首选RTOS的原因。通过对比FreeRTOS和NuttX,ChibiOS凭借其50ns中断响应、1.2μs上下文切换时间和高效的资源管理脱颖而出,特别适合处理无人机飞控中的高频传感器融合和实时控制任务。文章还详细分析了ChibiOS在STM32硬件上的优化实践及其在无人机开发中的显著优势。

weixin_29161719的博客 536

HTML5 data-* 自定义属性操作及其注意点

在HTML5中添加了data-*的方式来自定义属性,所谓data-*实际上上就是data-前缀加上自定义的属性名,命名可以用驼峰命名方式,但取值是必需全部使用小写(后面会说),使用这样的结构可以进行数据存放。使用data-*可以解决自定义属性混乱无管理的现状。 1.Html绑定数据写法 1.1简单单词: <div id="testDiv" data-cd="24"&...

djaaa123456的博客 1061

【AI智能体】Claude Code 核心记忆文件 CLAUDE.md实战操作详解

Claude Code 核心记忆文件 CLAUDE.md实战操作详解

congge 5390

微信小程序开发系列(十六)·事件传参·data-*自定义数据

事件传参:在触发事件时,将一些数据作为参数传递给事件处理函数的过程,就是事件传参。在微信小程序中,我们经常会在组件上添加一些自定义数据,然后在事件处理函数中获取这些自定义数据,从而完成业务逻辑的开发。在组件上通过data-"的方式定义需要传递的数据,其中*是自定义的属性,例如: 然后通过事件对象进行获取自定义数据。

时光の尘的博客 3639

微信小程序WXML页面组件的data-xx 的使用

data-xx 的作用是在事件中可以获取WXML页面组件的自定义的节点数据,用于事件的逻辑处理,也可以用来区别组件 比如 写一个list列表 想知道点击的list列表的哪一个item ,比如获取点击的图片,等等 使用data-xx 需要注意的 xx 是自己取的名字 一个demo 写一个这样的布局 wxml <view wx:for="{{wlist}}" wx:key="index"> <view class="" bindtap="showCardView" da

billykan的博客 3727

小程序实训日志 Day02

日期 2019年6月 17日 第 2 天 共 10天 实习地点 科技楼423 教学大纲中规定的实习教学内容 校内综合实训是系统讲授微信小程序开发技术,通过小程序开发项目实例来训练学生的实践能力,检验学生对微信小程序开发技术所学知识的综合运用能力的重要环节。每位学...

不是志锋的博客 564

微信小程序day02

微信小程序day02

qq_52966774的博客 444

小程序day02

day02

测试 537

小程序学习day02

一.WXML模板语法 1.数据绑定的基本原则 1.1在data中定义数据 1.2在WXML中使用数据 1.2.1Mustache语法的格式 1.2.2Mustache语法的应用场景 二.WXSS模板样式 三.全局配置 四.页面配置 五.网络数据请求 六.案例-本地生活(首页) ...

chen_yue_zhou的博客 196

微信小程序——day02

1.页面跳转 2.数据绑定 3.获取用户信息 4.获取用户位置 5.for指令 6.上传图片

weixin_45483328的博客 730

微信小程序开发 Day02

任务:1、骰子布局,把整个骰子做出来到页面上; 2、按照要求将小程序完成,能在手机上看或能在开发者工具调试即可。 1、骰子布局,把整个骰子做出来到页面上 这个任务分为了两个形式,一种在sublime中实现了骰子布局,下面为源代码: HTML源代码: <!DOCTYPE html> <html> <head> <meta ...

SILIII的博客 325

智慧场馆解决方案小程序系统开发实战指南

在体育场馆、健身中心与综合活动空间数字化转型的浪潮中,一套完整的智慧场馆解决方案小程序系统已成为连接场馆运营方与终端用户的核心纽带。需要明确的是,这类系统的难点不仅在于界面与预约流程的实现,更在于处理高并发下的场地状态一致性、多角色权限隔离以及第三方硬件设备的无缝集成。对于部分纯线下场景(如陪练预约上门),可在后台配置“车辆补贴里程”参数,该逻辑可复用并改造知识库中提及的“打车费设置”模块,将其抽象为通用的服务费规则引擎。小程序端与后台管理端均可复用同一套后端接口,但建议在接口网关层做细粒度的权限控制。

weixin_56812938的博客 253

社区生鲜小程序怎么做?4个经营环节。

叶菜、水果和肉蛋的规格经常变化,商品页应写清计价单位、净含量区间、产地或到货日期。门店每天先看损耗率、缺货率和超时订单,连续记录后再决定采购量。平台198元/年起,支持零代码搭建、下单、会员、优惠券、拼团、分销和社区团购等功能。小程序不能只负责展示商品,它要把当天上架、下单截止、自提配送和售后规则连成一条清楚的流程。先选二三十个高频商品跑通一周,把改价、缺货、自提和退款测明白,再逐步增加品类和配送范围,通常比一开始铺满几百个商品更稳。先确认商品规格、称重补差、配送范围和退款能否按实际规则配置,再比较费用。

wei_shuang_yun的博客 176

高考英语词汇与高效背单词小程序的深度解析

随着科技的发展,背单词APP推荐和高效的背单词小程序公司将继续创新,提供更加个性化和智能化的学习方法。同时,英语词汇量提升的需求将持续增长,尤其是在学术英语词汇和商务英语单词领域。因此,选择一款匠心智造未来等知名品牌的背单词软件或小程序,将有助于用户更高效地提升词汇记忆能力。

hyjjldc的博客 360

小程序抽奖工具

用户在小程序端参与转盘抽奖,可查看活动规则、剩余抽奖次数、个人抽奖记录、全部用户中奖公示,适合门店促销、节日活动、会员拉新促活,以游戏抽奖形式实现吸粉引流、提升用户活跃度。商家可以 DIY 自定义奖品,支持实物、虚拟券、积分、余额等类型,自定义奖品图片、数量、中奖概率。:后台可新增多套大转盘抽奖活动,独立配置活动名称、活动起止时间、活动规则说明,灵活适配店庆、节日、促销等不同营销节点。A:后台可以查看全部用户中奖明细,包含用户信息、中奖奖项、中奖时间,便于商家做奖品核销与活动复盘。

weiqingip的博客 263

基于springboot3+vue3+uniapp的智慧社区综合服务小程序(人脸识别、AI问答、Echarts图形化分析)

智慧社区综合服务平台以物业管理员、用户为基本服务对象,因此首先自然地支持用户用账号密码注册登录、找回忘记的密码,也支持绑定微信小程序OpenId登录。平台有十分明确、条理清楚的核心功能:房屋及住户管理部分可以完成房屋信息维护、房屋绑定审批、家庭成员管理、单用户多房屋绑定及切换诸种操作,物业缴费部分能批量生成缴费记录,提供多种缴费方式,同时完整记录账户充值情况及余额变动明细。

paopaokaka_luck的博客 229

一次:key 表达式导致的uni-app小程序事件传参事故

最近在 uni-app 项目里遇到一个很隐蔽的问题:列表页点击“签署协议”时,方法明明写的是:@click="goSign(item)",正常来说item是可以获取到值的。但是实际在uni-app中goSign函数的item居然是undefined。

郭大侠的技术空间 191

从设计落地看抽屉隔断痛点:聊聊井小然 Web 与小程序带来的体验革新

本文探讨了抽屉内部隔断这一容易被忽视却直接影响居住体验的家装细节。作者从设计师视角指出传统成品收纳和全屋定制模式的不足:成品收纳尺寸不匹配,定制模式存在沟通成本高、可视化差等问题。重点介绍了井小然的Web3D参数化工具创新性解决方案:1)提供场景化模板实现快速设计;2)支持移动端测量与多端协同编辑;3)内置亚克力切割和3D打印的工艺参数;4)实时3D预览提升沟通效率;5)免费试错降低成本。该工具既赋能设计师快速输出方案,又降低业主定制门槛,填补了装修后个性化改造的市场空白。文章最后展望了轻量化Web3D工具

技术说明博主 167

2024年江西省10类【地理+人文】shp文件-省+市+县区+乡镇街道+水系+大学+景点+道路+高程+土壤类型

本资源汇集了2024年江西省范围内10大类关键地理与人文空间数据的矢量格式(Shapefile,简称shp),涵盖从宏观行政区划到微观人文地理要素的多个维度,是开展区域空间分析、城市规划、资源管理、社会经济研究等项目的重要基础数据。该套数据经过统一坐标系处理与标准化分类整理,结构清晰、属性完备、精度较高,适用于ArcGIS、QGIS等主流GIS平台1、行政区划按照最新统计行政边界更新(通常基于自然资源部或国家统计局发布),分为四级:省(省级)、地级市(市级)、县区(县级)、乡镇街道(乡级),具备完善的编码与名称字段,适合空间制图与分级统计分析2、水系(面+线)包括各主要河流,以及大中型水库、蓄水池、支流网状系统等,支持水文分析、水系可视化、流域管理与水资源模型构建3、大学/高等院校分布覆盖南昌大学等107所本科及高职院校,提供名称、类别、地址、坐标信息,可用于教育资源空间分布研究、服务半径分析、人口迁移与高校资源均衡研究4、景点分布收录庐山等1046个旅游景区,具备名称、类型(自然/人文/复合型)、所在行政区、开放情况等字段,适合旅游资源规划、文化地理研究、地理标志分析等应用5、道路包含高速、省道、县道、乡村道路、城市主次干道等,具备道路路名、路段长度等字段信息,支持交通可达性分析、路径规划、交通热力图构建等GIS应用6、高程包含全国范围高程(TIF),直接加载到GIS平台即可7、土壤类型由中国土壤普查及国家基础地理数据库提取,精度达到1:25万或更高,涵盖主要土类(如褐土、黄潮土、水稻土等),广泛应用于农业适宜性评估、土地利用优化、乡村振兴规划等领域数据格式为标准shp文件,统一投影为 WGS 1984,便于直接加载使用

上一篇: 小程序Day01总结
下一篇: 小程序Day03总结
小羊在北方
博客等级 码龄8年 6粉丝 19原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值