小程序 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 中对应的数据也相应被修改了,实现了简单的双向数据绑定;

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

相关推荐
计算机程序设计小李同学31 分钟前
婚纱摄影集成管理系统小程序
java·vue.js·spring boot·后端·微信小程序·小程序
幽络源小助理4 小时前
SpringBoot+小程序高校素拓分管理系统源码 – 幽络源免费分享
spring boot·后端·小程序
Mr -老鬼4 小时前
移动端跨平台适配技术框架:从发展到展望
android·ios·小程序·uni-app
内存不泄露5 小时前
棋牌预约小程序系统论文
小程序
说私域1 天前
短视频私域流量池的变现路径创新:基于AI智能名片链动2+1模式S2B2C商城小程序的实践研究
大数据·人工智能·小程序
毕设源码-邱学长1 天前
【开题答辩全过程】以 基于微信小程序的松辽律所咨询系统的设计与实现为例,包含答辩的问题和答案
微信小程序·小程序
+VX:Fegn08951 天前
计算机毕业设计|基于springboot + vue物流配送中心信息化管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·小程序·课程设计
说私域1 天前
B站内容生态下的私域流量运营创新:基于AI智能名片链动2+1模式与S2B2C商城小程序的融合实践
人工智能·小程序·流量运营
计算机毕设指导61 天前
基于微信小程序的钓鱼论坛系统【源码文末联系】
java·spring boot·mysql·微信小程序·小程序·tomcat·maven
qq_12498707531 天前
基于微信小程序的宠物交易平台的设计与实现(源码+论文+部署+安装)
java·spring boot·后端·微信小程序·小程序·毕业设计·计算机毕业设计