小程序32-简易双向数据绑定

在WXML中,普通属性的绑定是单向的,例如:<input value="{{value}}" />

如果希望用户输入数据的同时改变data中的数据,可以借助简易双向绑定机制。在对应属性之前添加model:前缀即可:

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

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

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

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

html 复制代码
<!--pages/cart/cart.wxml-->

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

<!-- 双向绑定:数据能够影响页面,页面更新也能够影响数据 -->
<!-- 如果想实现简易双向绑定,需要再对应的属性之前添加 model: -->
<input type="text" model:value="{{ value }}"/>

<!-- 如果需要犹取复选框的选中效果,需要给checked 添加 model:-->
<checkbox model:checked="{{ ischecked }}" />

<!-- 注意事项1:属性值只能是一个单一字段的绑定 -->
<!-- <input type="text" model:value="值为 {{ value }}" />  -->

<!-- 注意事项2:属性值不能写数据路径,也就是不支持对象和数组 -->
<!-- <input type="text" mode1;value="{{ obj.value }}" /> -->
javascript 复制代码
// pages/cart/cart.js
Page({
  data: {
    value: 123,
    isChecked: false,
    obj: {
      value: 123
    }
  }
})
相关推荐
tangdou3690986556 小时前
前端Skill全家桶:React+Vue+TypeScript开发实战
前端
大大杰哥7 小时前
Vue2学习(3)--组件中的通信方式/组件之间的交互
java·前端·javascript
糖醋丸子7 小时前
D3生成topo 结点连线 webpack 配置兼容ie 11
前端
阿猫的故乡7 小时前
Vue3自定义插件:封装一个全局消息提示插件,所有组件都能直接用
前端·javascript·vue.js
斯内普吖7 小时前
(开源)高校素拓分管理系统小程序实战指南 基于 Java + SpringBoot + uni-app + Vue + MySQL
java·spring boot·mysql·小程序·uni-app·开源
橘子星7 小时前
树与二叉树:从概念到 JavaScript 实现
前端·javascript·面试
小小高不懂写代码7 小时前
Transformer与注意力机制
前端·人工智能
AiClaw7 小时前
AIClaw 的 Skills 机制:先注入索引,再按需读取完整说明
前端
YHHLAI7 小时前
HTML5 Canvas 从入门到实战:画布绘图 · 帧动画 · 小游戏 · 数据可视化
前端·信息可视化·html5
前端 贾公子7 小时前
npx skills:AI Agent Skill 的 npm,50+ 工具统一的 Skill 管理工具
前端