【微信小程序】WXML的模板语法与WXSS模板样式(一)

简介: 【微信小程序】WXML的模板语法与WXSS模板样式

WXML的模板语法


数据绑定


  • 数据绑定的基本原则


  • (1)在data中定义数据


  • (2)在WXML中使用数据


Page({
  data:{
    //字符串典型的数据
    info:'int data',
    //数据类型的数据
    msgList:[{msg:'hello'},{msg:'world'}]
  }
})
  • Mustache语法


  • 语法的格式


  • 应用场景


<view>{{要绑定的数据名称}}</view>

①绑定内容


绑定属性


③运算(三元运算、算术运算)


  • 动态绑定内容
Page({
  data:{info:'int data'}
})


//页面结构
<view>{{info}}</view>


  • 动态绑定属性


Page({
  data:{imgSrc:'https://wx2.sinaimg.cn/mw690/006HhBxply1hjb88sv9dtj31tk10m14k.jpg'}
})


//页面结构
<image src='{{imgSrc}}'></image>


  • 三元运算
Page({
  data:{randomNum:Math.random()*10} //生成10以内的随机数
})


//页面结构
<view>{{randomNum >=5 ? '随机数字大于等于5 ':'随机数字小于5'}}</view>

小程序常用事件


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

事件对象的属性列表



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



条件渲染


1、wx:if是否需要


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


<view wx:if="{{condition}}">True</view>


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


<view wx:if="{{type===1}}">1</view>
<view wx:elif="{{type===2}}">2</view>
<view wx:else>4</view>


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


如果要一次性控制多个组件的展示与隐藏,可以使用一个<block></block>标签将多个组件包装起来,并在<block>标签上使用wx:if控制属性


<block wx:if="{{true}}">
  <view>view1</view>
  <view>view2</view>
</block>


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


3、hidden


在小程序中,直接使用hidden="{{condition}}"也能控制元素的显示与隐藏


<view hidden="{{condition}}">条件为true隐藏,条件为false显示</view>


4、wx:if 与hidden的对比


①运行方式不同

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

hidden以切换样式的方式,控制元素的显示与隐藏


②使用建议

频繁切换时,建议使用hidden

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


5、wx:for


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


<view wx:for="{{array}}">
  索引是:{{index}}当前项是:{{item}}
</view>


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


6、wx:key的使用


类似于Vue列表渲染中的:key小程序在实现列表渲染时,也建议为渲染出来的列表项指定唯一的key值,从而提高渲染的效率,示例代码如下:


data:{
  userList:[
    {id:1,name:"2"},
    {id:2,name:"3"},
    {id:3,name:"5"}
  ]
}




目录
相关文章
|
1月前
|
JSON 小程序 JavaScript
【微信小程序】-- 自定义组件 -- 创建与引用 &样式(三十二)
【微信小程序】-- 自定义组件 -- 创建与引用 &样式(三十二)
|
1月前
|
小程序 前端开发 开发者
【微信小程序】-- WXSS 模板样式- rpx & import (十三)
【微信小程序】-- WXSS 模板样式- rpx & import (十三)
|
1月前
|
JSON 小程序 搜索推荐
【微信小程序】-- 模板语法与配置的总结(二十一)
【微信小程序】-- 模板语法与配置的总结(二十一)
|
1月前
|
小程序
【微信小程序】-- WXSS 模板样式- 全局样式和局部样式(十四)
【微信小程序】-- WXSS 模板样式- 全局样式和局部样式(十四)
|
15天前
|
小程序 前端开发 API
微信小程序全栈开发中的异常处理与日志记录
【4月更文挑战第12天】本文探讨了微信小程序全栈开发中的异常处理和日志记录,强调其对确保应用稳定性和用户体验的重要性。异常处理涵盖前端(网络、页面跳转、用户输入、逻辑异常)和后端(数据库、API、业务逻辑)方面;日志记录则关注关键操作和异常情况的追踪。实践中,前端可利用try-catch处理异常,后端借助日志框架记录异常,同时采用集中式日志管理工具提升分析效率。开发者应注意安全性、性能和团队协作,以优化异常处理与日志记录流程。
|
15天前
|
小程序 安全 数据安全/隐私保护
微信小程序全栈开发中的身份认证与授权机制
【4月更文挑战第12天】本文探讨了微信小程序全栈开发中的身份认证与授权机制。身份认证包括手机号验证、微信登录和第三方登录,而授权机制涉及角色权限控制、ACL和OAuth 2.0。实践中,开发者可利用微信登录获取用户信息,集成第三方登录,以及实施角色和ACL进行权限控制。注意点包括安全性、用户体验和合规性,以保障小程序的安全运行和良好体验。通过这些方法,开发者能有效掌握小程序全栈开发技术。
|
15天前
|
JavaScript 前端开发 小程序
微信小程序全栈开发之性能优化策略
【4月更文挑战第12天】本文探讨了微信小程序全栈开发的性能优化策略,包括前端的资源和渲染优化,如图片压缩、虚拟DOM、代码分割;后端的数据库和API优化,如索引创建、缓存使用、RESTful API设计;以及服务器的负载均衡和CDN加速。通过这些方法,开发者可提升小程序性能,优化用户体验,增强商业价值。
|
15天前
|
小程序 前端开发 JavaScript
微信小程序全栈开发中的PWA技术应用
【4月更文挑战第12天】本文探讨了微信小程序全栈开发中PWA技术的应用,PWA结合Web的开放性和原生应用的性能,提供离线访问、后台运行、桌面图标和原生体验。开发者可利用Service Worker实现离线访问,Worker处理后台运行,Web App Manifest添加桌面图标,CSS和JavaScript提升原生体验。实践中需注意兼容性、性能优化和用户体验。PWA技术能提升小程序的性能和用户体验,助力开发者打造优质小程序。
|
1月前
|
小程序 前端开发 程序员
微信小程序开发入门教程-小程序账号注册及开通
微信小程序开发入门教程-小程序账号注册及开通
|
4天前
|
数据采集 存储 人工智能
【Python+微信】【企业微信开发入坑指北】4. 企业微信接入GPT,只需一个URL,自动获取文章总结
【Python+微信】【企业微信开发入坑指北】4. 企业微信接入GPT,只需一个URL,自动获取文章总结
17 0

热门文章

最新文章