【微信小程序】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"}
  ]
}




目录
相关文章
|
小程序 搜索推荐 API
微信小程序:自定义关注公众号组件样式
尽管关注公众号组件的样式固定且不可修改,但产品经理的需求却需要个性化的定制。在这种情况下,我们需要寻找解决方案,以满足这些特殊需求,尽管这可能有点棘手。
1079 0
微信小程序:自定义关注公众号组件样式
|
JSON 小程序 前端开发
towxml的使用,在微信小程序中快速将markdown格式渲染为wxml文本
本文介绍了在微信小程序中使用`towxml`库将Markdown格式文本渲染为WXML的方法。文章提供了`towxml`的概述、安装步骤、以及如何在小程序中配置和使用`towxml`进行Markdown解析的详细说明和代码示例。
|
小程序
Taro@3.x+Vue@3.x+TS开发微信小程序,根据系统主题展示不同样式(darkMode)
本文介绍如何在Taro项目中配置深色模式。通过在`src/app.config.ts`设置`darkmode`选项和在`theme.json`中定义主题变量,可以实现跟随系统主题的界面风格切换。
636 0
Taro@3.x+Vue@3.x+TS开发微信小程序,根据系统主题展示不同样式(darkMode)
|
小程序
跨端技术问题之页面或组件样式在小程序、小程序插件和小程序分包中有什么差异
跨端技术问题之页面或组件样式在小程序、小程序插件和小程序分包中有什么差异
|
小程序
【微信小程序-原生开发】wxml 支持 includes (wxml中执行函数的方法)
【微信小程序-原生开发】wxml 支持 includes (wxml中执行函数的方法)
933 0
|
7月前
|
消息中间件 人工智能 Java
抖音微信爆款小游戏大全:免费休闲/竞技/益智/PHP+Java全筏开源开发
本文基于2025年最新行业数据,深入解析抖音/微信爆款小游戏的开发逻辑,重点讲解PHP+Java双引擎架构实战,涵盖技术选型、架构设计、性能优化与开源生态,提供完整开源工具链,助力开发者从理论到落地打造高留存、高并发的小游戏产品。
|
自然语言处理 搜索推荐 小程序
微信公众号接口:解锁公众号开发的无限可能
微信公众号接口是微信官方提供的API,支持开发者通过编程与公众号交互,实现自动回复、消息管理、用户管理和数据分析等功能。本文深入探讨接口的定义、类型、优势及应用场景,如智能客服、内容分发、电商闭环等,并介绍开发流程和工具,帮助运营者提升用户体验和效率。未来,随着微信生态的发展,公众号接口将带来更多机遇,如小程序融合、AI应用等。
|
8月前
|
小程序 JavaScript API
uni-halo + 微信小程序开发实录:我的第一个作品诞生记
这篇文章介绍了使用uni-halo框架进行微信小程序开发的过程,包括选择该框架的原因、开发目标以及项目配置和部署的步骤。
450 0
uni-halo + 微信小程序开发实录:我的第一个作品诞生记
|
11月前
|
小程序 前端开发 Android开发
小程序微信分享功能如何开发?开放平台已绑定仍不能使用的问题?-优雅草卓伊凡
小程序微信分享功能如何开发?开放平台已绑定仍不能使用的问题?-优雅草卓伊凡
2169 29
小程序微信分享功能如何开发?开放平台已绑定仍不能使用的问题?-优雅草卓伊凡
|
JSON 小程序 JavaScript
uni-app开发微信小程序的报错[渲染层错误]排查及解决
uni-app开发微信小程序的报错[渲染层错误]排查及解决
3986 7

热门文章

最新文章