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




目录
相关文章
|
8天前
|
JSON 小程序 前端开发
towxml的使用,在微信小程序中快速将markdown格式渲染为wxml文本
本文介绍了在微信小程序中使用`towxml`库将Markdown格式文本渲染为WXML的方法。文章提供了`towxml`的概述、安装步骤、以及如何在小程序中配置和使用`towxml`进行Markdown解析的详细说明和代码示例。
|
2月前
|
小程序 JavaScript 前端开发
微信小程序开发必备前置知识:基本代码构成与语法
【8月更文挑战第8天】微信小程序的基本代码构成与语法
74 0
微信小程序开发必备前置知识:基本代码构成与语法
|
3月前
|
小程序
【微信小程序-原生开发】wxml 支持 includes (wxml中执行函数的方法)
【微信小程序-原生开发】wxml 支持 includes (wxml中执行函数的方法)
183 0
|
5月前
|
JavaScript 小程序
微信小程序 搜索框实现模糊搜索(带模拟数据,js,wxml,wxss齐全
微信小程序 搜索框实现模糊搜索(带模拟数据,js,wxml,wxss齐全
|
5月前
|
小程序
微信小程序启动报错 WXML file not found: ./miniprogram_npm/@vant/weapp/action-sheet/index.wxml
微信小程序启动报错 WXML file not found: ./miniprogram_npm/@vant/weapp/action-sheet/index.wxml
128 3
|
2月前
|
小程序 JavaScript Java
微信小程序的后端开发需要使用什么语言?
【8月更文挑战第22天】微信小程序的后端开发需要使用什么语言?
321 65
ly~
|
8天前
|
存储 供应链 小程序
除了微信小程序,PHP 还可以用于开发哪些类型的小程序?
除了微信小程序,PHP 还可用于开发多种类型的小程序,包括支付宝小程序、百度智能小程序、抖音小程序、企业内部小程序及行业特定小程序。在电商、生活服务、资讯、工具、娱乐、营销等领域,PHP 能有效管理商品信息、订单处理、支付接口、内容抓取、复杂计算、游戏数据、活动规则等多种业务。同时,在企业内部,PHP 可提升工作效率,实现审批流程、文件共享、生产计划等功能;在医疗和教育等行业,PHP 能管理患者信息、在线问诊、课程资源、成绩查询等重要数据。
ly~
41 6
|
8天前
|
小程序 JavaScript API
微信小程序开发学习之页面导航(声明式导航和编程式导航)
这篇文章介绍了微信小程序中页面导航的两种方式:声明式导航和编程式导航,包括如何导航到tabBar页面、非tabBar页面、后退导航,以及如何在导航过程中传递参数和获取传递的参数。
微信小程序开发学习之页面导航(声明式导航和编程式导航)
|
2月前
|
小程序 JavaScript
Taro@3.x+Vue@3.x+TS开发微信小程序,使用轮播图
本文介绍了使用 Taro 和 Vue 创建轮播组件的两种方法:一是通过 `&lt;swiper&gt;` 实现,二是利用 Nut UI 的 `&lt;nut-swiper&gt;` 组件实现。
Taro@3.x+Vue@3.x+TS开发微信小程序,使用轮播图
|
28天前
|
移动开发 小程序 JavaScript
uni-app开发微信小程序
本文详细介绍如何使用 uni-app 开发微信小程序,涵盖需求分析、架构思路及实施方案。主要功能包括用户登录、商品列表展示、商品详情、购物车及订单管理。技术栈采用 uni-app、uView UI 和 RESTful API。文章通过具体示例代码展示了从初始化项目、配置全局样式到实现各页面组件及 API 接口的全过程,并提供了完整的文件结构和配置文件示例。此外,还介绍了微信授权登录及后端接口模拟方法,确保项目的稳定性和安全性。通过本教程,读者可快速掌握使用 uni-app 开发微信小程序的方法。
57 3
下一篇
无影云桌面