完美应对微信小程序的数据管理,从数据双向绑定开始

这篇具有很好参考价值的文章主要介绍了完美应对微信小程序的数据管理,从数据双向绑定开始。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

微信小程序因为诸多限制所以它无法像 vue 那样通过指令进行数据绑定,那微信小程序有没有什么办法可以实现数据的双向绑定呢?今天给大家分享两种微信小程序数据绑定的方法。


通过 model:value 绑定

当点击 form 表单中 form-typesubmit 的 button 组件时,会将表单组件中的 value 值进行提交,需要在表单组件中加上 name 来作为 key

.wxml 文件

<form catchsubmit="formSubmit">
    <view class="formItemBox">
        <view>姓名</view>
        <view>
            <input name="name" model:value="{{ formData.name }}" type="text" placeholder="请输入姓名" />
        </view>
    </view>
    <view class="formItemBox">
        <view>年龄</view>
        <view>
            <input name="age" model:value="{{ formData.age }}" type="text" placeholder="请输入年龄" />
        </view>
    </view>
    <view class="formItemBox">
        <view>号码</view>
        <view>
            <input name="number" model:value="{{ formData.number }}" type="text" placeholder="请输入号码" />
        </view>
    </view>
    <view class="formItemBox">
        <view>地址</view>
        <view>
            <input name="address" model:value="{{ formData.address }}" type="text" placeholder="请输入地址" />
        </view>
    </view>
    <!-- 底部操作按钮 -->
    <view>
        <button formType="submit">提交</button>
    </view>
</form>

.js 文件

Page({
  data: {
    // 绑定的数据
    formData: {
      name: "",
      age: "",
      number: "",
      address: "",
    },
  },
  // 提交操作
  formSubmit(e) {
    console.log(e.detail.value); //提交的数据
  },
})

点击提交操作后:

微信小程序双向绑定,小程序,微信小程序,小程序


通过 bindinput 方法

首先用标签属性 data- 绑定 js 中的 data 参数,再通过 bandinput 事件获取 key 值,最后利用模板字符串赋值给 data 中的值。

.wxml 文件

<view>
    <view class="formItemBox">
        <view>姓名</view>
        <view>
            <input data-gater="formData.name" bindinput="inputFrame" value="{{ formData.name }}" type="text"
                placeholder="请输入姓名" />
        </view>
    </view>
    <view class="formItemBox">
        <view>年龄</view>
        <view>
            <input data-gater="formData.age" bindinput="inputFrame" value="{{ formData.age }}" type="text"
                placeholder="请输入年龄" />
        </view>
    </view>
    <view class="formItemBox">
        <view>号码</view>
        <view>
            <input data-gater="formData.number" bindinput="inputFrame" value="{{ formData.number }}" type="text"
                placeholder="请输入号码" />
        </view>
    </view>
    <view class="formItemBox">
        <view>地址</view>
        <view>
            <input data-gater="formData.address" bindinput="inputFrame" value="{{ formData.address }}" type="text"
                placeholder="请输入地址" />
        </view>
    </view>
    <!-- 底部操作按钮 -->
    <view>
        <button bindtap="submit">提交</button>
    </view>
</view>

.js 文件

Page({
  data: {
    // 绑定的数据
    formData: {
      name: "",
      age: "",
      number: "",
      address: "",
    },
  },
  // 提交操作
  submit() {
    console.log(this.data.formData); //提交的数据
  },
  // input事件(内容改变时触发)
  inputFrame(e) {
    this.setData({
      [`${e.currentTarget.dataset.gater}`]: e.detail.value
    })
    console.log(this.data.formData);
  },
})

input框输入和提交时:

微信小程序双向绑定,小程序,微信小程序,小程序

最后附上 .wxss 文件文章来源地址https://www.toymoban.com/news/detail-516698.html

.formItemBox {
    display: flex;
    margin: 0rpx 10rpx;
    padding: 14rpx 0rpx;
    border-bottom: 1px solid gainsboro;
}

.formItemBox view:first-child {
    width: 20%;
    color: #323333;
    font-size: 28rpx;
}

.formItemBox view:last-child {
    width: 80%;
}

input {
    font-size: 24rpx;
    color: #626263;
}

到了这里,关于完美应对微信小程序的数据管理,从数据双向绑定开始的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 机电公司管理小程序|基于微信小程序的机电公司管理小程序设计与实现(源码+数据库+文档)

    机电公司管理小程序目录 目录 基于微信小程序的机电公司管理小程序设计与实现 一、前言 二、系统设计 三、系统功能设计  1、机电设备管理 2、机电零件管理 3、公告管理 4、公告类型管理 四、数据库设计    五、核心代码   六、论文参考 七、最新计算机毕设选题推荐

    2024年03月19日
    浏览(35)
  • 微信小程序通过 wxministore 实现类似于vuex的全局装填数据管理

    首先 我们打开终端 引入依赖 然后 如果你是新版开发者工具 就 构建一下 如果你是 老版本的 微信开发者工具 就打开右上角详情 选择本地管理 勾选 使用 npm 模块 然后 在根目录下创建一个 store.js 当然建在哪是你自己决定的 反正 后面能引入到就好 然后 store.js 编写代码如下

    2024年02月05日
    浏览(31)
  • 案例125:基于微信小程序的个人健康数据管理系统的设计与实现

    文末获取源码 开发语言:Java 框架:SSM JDK版本:JDK1.8 数据库:mysql 5.7 开发软件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序开发软件:HBuilder X 小程序运行软件:微信开发者 目录 前言 系统展示 管理员模块的实现 用户管理 知识科普管理 健康信息共享管理

    2024年02月02日
    浏览(52)
  • 基于SSM微信小程序物流仓库管理系统设计与实现(lw+数据库+讲解等)

    💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 2023-2024年最值得选的微信小程序毕业设计

    2024年02月21日
    浏览(42)
  • JAVA毕业设计100—基于Java+Springboot+Vue的WMS仓库管理系统+移动端微信小程序(源码+数据库+部署视频)

    本系统前后端分离带小程序 本系统分为管理员、用户角色(角色权限可自行分配) 功能列表: 1、 数据管理:物料数据管理、物料Bom管理、物料组管理、物料分类管理、供应商管理、仓库管理、货位管理、车间管理 2、 采购管理:物料标签管理、入库单管理、入库退货管理 3、

    2024年04月10日
    浏览(44)
  • 计算机毕业设计springboot基于微信小程序的综合旅游管理系统的设计与实现ub9429【附源码+数据库+部署+LW】

    本项目包含程序+源码+数据库+LW+调试部署环境,文末可获取一份本项目的java源码和数据库参考。 系统的选题背景和意义 选题背景: 随着旅游业的快速发展和人们对旅游体验的不断提升,传统的旅游管理方式已经无法满足日益增长的需求。综合旅游管理系统涉及到旅游线路规

    2024年02月03日
    浏览(34)
  • AIGC 场景下存储与数据管理的挑战与应对

    10月28日,\\\"寻宝 AI 时代——OSC 源创会苏州站暨 Techo TVP 技术沙龙\\\"在苏州圆满落幕。腾讯云存储专家解决方案架构师屠伟新带来《AIGC 场景下存储与数据管理的挑战与应对》主题分享。下面我们一起来学习回顾一下AIGC场景下的存储解决方案。 AIGC 场景下存储与数据管理的挑战与

    2024年02月05日
    浏览(31)
  • 健身管理小程序|基于微信开发健身管理小程序的系统设计与实现(源码+数据库+文档)

    健身管理小程序 目录 基于微信开发健身管理小程序设计与实现 一、前言 二、系统设计 三、系统功能设计  小程序端: 后台 四、数据库设计  五、核心代码  六、论文参考 七、最新计算机毕设选题推荐 八、源码获取:   博主介绍 :✌️大厂码农|毕设布道师,阿里云开发

    2024年04月17日
    浏览(33)
  • 微信小程序最新用户头像昵称获取规则调整应对措施(2022)

    小程序用户头像昵称获取规则调整公告 以前通过wx.getUserProfile获取用户信息,用户点击同意以后,便可以直接获取相关信息,但是官方最近做出了调整,直接将头像和昵称使用默认值填充了,所以我们无法直接获取用户的信息了,需要新增一个页面用于用户自定义头像和昵称

    2023年04月14日
    浏览(29)
  • 微信小程序 - 页面继承(非完美解决方案)

    小程序中提供了组件可以用于拆分逻辑,实现代码重用。 但有时我就想纯粹的从页面的角度来实现,毕竟组件和页面还是有点差异的。 将共用的代码放在一个 page-base 中。 在两个子页面 page-a, page-b中分别引用它。 想查看 page-base 要在编译后先点 page-base 。 如果先点了 page-a

    2024年02月08日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包