美文网首页
如和让微信小程序实现对象属性双向数据绑定

如和让微信小程序实现对象属性双向数据绑定

作者: 聽見下雨的_聲音 | 来源:发表于2019-07-29 14:38 被阅读0次

核心方法

写一个下面的js方法,名称可以任意取,用于绑定input输入

bindInput(e){
    // 表单双向数据绑定
    var that = this;
    var dataset = e.currentTarget.dataset;
    // data-开头的是自定义属性,可以通过dataset获取到,dataset是一个json对象
    var name = dataset.name;
    
    var value = e.detail.value;
    // 拼接对象属性名,用于为对象属性赋值
    var attributeName = 'applyFormObject.' + name
    that.data[name] = value;
    that.setData({
      [attributeName]: that.data[name]
    });
    // console.log(that.data[name])
  },

其中需要更改的地方只有applyFormObject,这是一个在data中定义的对象

Page({
  data: {
    applyFormObject: {
      name: '',
      phone: ''
    }
});

通过dataset获取到自定义的data-xxx属性值,该属性值就是input绑定的属性名称,比如data-name="phone"就等同于<input type="text" name="phone">中的name属性,var name = dataset.name;获取到属性的值以后在拼接对象名称,通过that.setData方法完成对象属性赋值,便实现了对象属性的双向数据绑定。

如何使用

在小程序的wxml中定义data-name值对应对象属性名,然后在定义bindinput值对应刚刚的方法名称,即可将input的值实时绑定到对象applyFormObject的属性上,方便表单提交。

<view class="form-item">
   <input class="input" bindinput="bindInput" data-name="name" placeholder="请输入姓名" auto-focus/>
 </view>

<view class="form-item">
  <input type="number" class="input" maxlength="11" bindinput="bindInput" data-name="phone" placeholder="请输入手机号码" />
</view>

相关文章

  • 小程序 小方法

    微信小程序input数据双向绑定 简单实现双向数据绑定--对象下的属性赋值绑定(可以自己改一元变量方式)每个页面引...

  • 如和让微信小程序实现对象属性双向数据绑定

    核心方法 写一个下面的js方法,名称可以任意取,用于绑定input输入 其中需要更改的地方只有applyFormO...

  • JS双向数据绑定

    双向数据绑定简述 双向数据绑定,可以将JS对象的属性绑定到DOM节点上,实现JS对象跟DOM节点的同名属性的关联,...

  • 2021-06-08

    今日收获微信小程序双向绑定hidden = "{{offerId==''}}"

  • vue双向数据绑定原理

    vue实现双向数据绑定理解,可以简单分为四个过程实现一个监听器Observer:对数据对象进行遍历,包括子属性对象...

  • Vue基础

    Vue.js不支持IE8及其以下版本,渐进式:易用、灵活、高效实例化对象 绑定属性和方法 如何实现数据双向绑定?方...

  • vue实现双向绑定原理

    原理 vue数据双向绑定通过‘数据劫持’ + 订阅发布模式实现 数据劫持 指的是在访问或者修改对象的某个属性时,通...

  • 小程序学习笔记-小程序和Vue比较

    最近在研究小程序和vue,发现vue和小程序很多地方都很相似,但是vue的双向数据绑定却比小程序的单向数据绑定好用...

  • 微信小程序 input 动态修改对象数组中某一值

    微信小程序 input 双向绑定数组,很多场景需要动态修改数组中的某一值,如xml中如此绑定数组arrayData...

  • 小程序input实现数据双向绑定

    先说下,小程序并不像前端主流框架那样,实现了数据的双向绑定,他是单向的数据流,而我们开发的时候习惯了双向数据并绑定...

网友评论

      本文标题:如和让微信小程序实现对象属性双向数据绑定

      本文链接:https://www.haomeiwen.com/subject/disbrctx.html