小程序 wxml 语法 —— 39 简单双向数据绑定

在 WXML 中,普通属性的绑定是单向的,比如 <input value="{``{ value }}" />,当数据发生改变时,页面也会随之发生变化,但是当用户在输入框中输入最新内容,最新内容并不会同步给 value 数据,这就是单向数据绑定;

如果希望用户输入数据的同时修改 data 中的数据,可以借助简单双向绑定机制,在对应属性之前添加 model: 前缀即可:例如 <input model:value="{``{ value }}" />

注意事项:简易双向绑定的属性值有如下限制:

  • 只能是一个单一字段的绑定,如:错误用法:<input model:value="值为 {``{ value }}" />
  • 不能写 data 路径,也就是不支持数组和对象,例如:错误用法:<input model:value="{``{ a.b }}" />

下面打开微信开发者工具演示一下如何进行简单双向数据绑定:

在 pages/cate/cate.js 中定义数据,如下所示:

javascript 复制代码
Page({
  data: {
    value: 123,
    isChecked: false
  }
})

在 pages/cate/cate.wxml 中定义页面样式,如下所示:

javascript 复制代码
<!-- 单向绑定:数据能够影响页面,但是页面更新不会影响到数据 -->
<input type="text" value="{{ value }}"/>

<!-- 双向绑定:数据能够影响页面,页面更新也能够影响数据 -->
<input type="text" model:value="{{ value }}"/>

<!-- 如果需要获取复选框的选中效果,需要给 checked 添加 model: -->
<checkbox model:checked="{{ isChecked }}"/> 是否同意该协议

刷新页面,可以看到具体的效果如下:

当修改页面上的值的时候,通过观看右下角的 AppData 的值可以发现,Page 中对应的数据也相应被修改了,实现了简单的双向数据绑定;

参考视频:尚硅谷微信小程序开发教程

相关推荐
Rooting++11 小时前
小程序{{ }}和vue{{ }}语法的区别
前端·vue.js·小程序
博、、14 小时前
折扣卡CPS系统源码实战开发指南:从架构设计到落地部署全解析
小程序·需求分析
lhldsg17 小时前
折扣卡CPS小程序定制全流程实战指南:从需求分析到上线部署
java·前端·小程序
suliqiang18 小时前
【前端技术】 Web 前端技术36年 演进全景图
信息可视化·微信小程序·小程序·前端框架·uni-app·人机交互·xcode
weixin_493503671 天前
商会小程序附件上传:分片上传 + OSS 直传完整实现(Vue3 + 阿里云 OSS 实战)
阿里云·小程序·云计算
优度网1 天前
微信小程序主体变更公证书线上办理流程与业务交接风险规避方法浅析(2026)
小程序
m0_587383001 天前
外卖CPS系统开发实战:从架构设计到运营落地全指南
java·spring·小程序·架构·需求分析
T01156182 天前
全栈项目实战手记|艺培场馆课时预约小程序 PC 管理端 Demo 完整开发成果展示
小程序
凡泰AI2 天前
如何为政务 APP 搭建开放平台,实现多部门、第三方供应商标准化入驻与统一管理
android·大数据·小程序·uni-app·app·政务
FX1317887KP_2 天前
AI陪练正在重塑KET PET FCE口语备考,传统外教课还有必要吗?
人工智能·小程序·ket口语·pet口语·fce备考·剑桥英语