微信小程序--模版语法

本文详细介绍了微信小程序的模版语法,包括WXML的基本使用、setData()方法在修改数据时的应用,以及对象和数组类型的修改操作。此外,还讨论了简易双向数据绑定、列表渲染的基础与进阶用法,以及条件渲染的实现方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.WXML语法

小程序页面中使用的数据均需要在Page()方法的data对象中进行声明定义

在数据声明好以后,在WXML中使用Mustache语法( 双大括号 {{ }} )将变量包起来,从而将数据绑定

在{{}}内部可以做一些简单的运算,支持如下几种方式

1.算数运算

2.三元运算

3.逻辑判断

4.其他...(绑定属性值等)

注意

在{{}}语法中,只能写表达式,不能写语句,也不能调用js相关的方法

2.setData()修改数据

小程序中修改数据不推荐通过赋值的方式进行修改,通过赋值的方式修改数据无法改变页面的数据

要通过调用setData()方法进行修改,setData()方法接受对象作为参数,key是需要修改的数据,value是最新的值,

setData()方法有两个作用:

1.更新数据

2.驱动视图更新

修改对象类型数据

1.新增单个/多个

直接在this.setData({})添加 “object.key”:“value”

2.修改单个/多个

1> 直接在this.setData({})覆盖“object.key”:“value”

2> es6展开运算符 (通过展开运算符能够将对象中属性复制给另一个对象,后面的属性会覆盖前面的属性)

const  object = {...this.data.object, name:'jerry' }

再在this.setData({ object })

3> Object.assign() 将多个对象合并为一个对象

const object = Object.assgin(this.data.object, {name:‘jerry’})

再在this.setData({ object })

3>  删除单个

delete this.data.object.name

this.setData({ object : this.data.object})

4> 删除多个

rest 剩余参数

const {age,...rest} = this.data.object

this.setData({ object : rest})

修改数组类型数据

1> 新增数组元素

push(数组末尾添加数据)

concat(合并数组)

const newList = [...this.data.list, 4]

this.setData({  list: newList  })

2> 修改数组中的元素

this.setData({ ‘lsit[1].name’ : 'jerry' }]

3> 删除数组中的元素

splice(截取数组)

filter (过滤数组)

3 简易双向数据绑定

在对应属性前添加model:前缀即可

例如 <input model:value="{{value}}"/>

注意:

1.只能是一个单一字段的绑定 错误用法:<input model:value="值为 {{value}}" />

2.尚不能写 data 路径,也就是不支持数组和对象,例如:错误用法:<input model:value="{{ a.b }}" />

4.列表渲染-基本使用

通过循环遍历一个数组或对象,将其中的每个元素渲染到页面上 

wx:for

渲染的数组 item 数组的每一项 index 下标

渲染的对象 item 对象属性的值 index 对象属性

wx:key

字符串:需要遍历数组中item的某个属性,要求该属性是列表中唯一的字符串或者数字,不能进行动态改变

保留关键字 :*this , *this 代表的是item本身,item本身是唯一的字符串或者数字

5 列表渲染-进阶用法

使用wx:for-item 可以指定数组当前元素的变量名

使用wx:for-index 可以指定数组当前下标的变量名

<block/>并不是一个组件,仅仅是一个包装元素,在页面不会做任何渲染,只接受控制属性

6 条件渲染

wx:if   wx:elif    wx:else   属性组  当条件为true 时结构展示出来,通过移除/新增节点方式来实现

hidden 当条件为true 时会将结构隐藏,通过display样式属性来实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值