微信小程序前端开发实现双向数据绑定

微信小程序面试内容整理-数据绑定 双向数据绑定指的是视图的变化会影响数据,数据的变化同样会更新视图。点击按钮时,increment 方法会增加 count 的值,并通过 setData 更新数据,视图也会随之自动更新。当用户在输入框中输入内容时,bindinput 事件会触发,并更新 inputValue 的值,从而更新视图。当数据发生变化时,视图会自动更新。是微信小程序中视图和数据的桥梁,自动同步数据和视图的变化,减少手动操作 DOM 的复杂度。:数据与视图之间的双向同步,视图的变化可以反映到数据,数据的变化也可以更新视图。 阅读详情

现在公司有一个要求要实现这样的一个功能:

先来看html代码:

js代码:

html代码:

<view class="weui-form-preview"wx:for="{{customerData}}" wx:key="idx" wx:for-index="idx" wx:for-item="item">

<view class="weui-form-preview__hd">

<view class="weui-form-preview__item">

<view class="weui-form-preview__label">客户信息</view>

<view class="weui-form-preview__value_in-hd" bindtap="addCustom" wx:if="{{!item.del}}">新增客户</view>

<view class="weui-form-preview__value_in-hd" data-idx="{{idx}}" bindtap="delCustom" style="text-align: left" wx:if="{{item.del}}">[删除]</view>

</view>

</view>

<view class="weui-cells weui-cells_after-title">

<view class="weui-cell ">

<view class="weui-cell__hd">

<view class="weui-label">客户姓名</view>

</view>

<view class="weui-cell__bd">

<input class="weui-input" value="{{item.name}}" data-obj="name" data-idx="{{idx}}" bindinput="inputedit" disabled="{{item.disabled}}" placeholder="请输入客户姓名" />

</view>

</view>



<view class="weui-cell ">

<view class="weui-cell__hd">

<view class="weui-label">手机号码</view>

</view>

<view class="weui-cell__bd">

<input class="weui-input" value="{{item.phone}}" data-obj="phone" data-idx="{{idx}}" bindinput="inputedit" disabled="{{item.disabled}}" placeholder="请输入手机号码" />

</view>

</view>

<view class="weui-cell ">

<view class="weui-cell__hd">

<view class="weui-label">证件号码</view>

</view>

<view class="weui-cell__bd">

<input class="weui-input" value="{{item.idnum}}" data-obj="idnum" data-idx="{{idx}}" bindinput="inputedit" disabled="{{item.disabled}}" placeholder="请输入证件号码" />

</view>

</view>

</view>

</view>

js代码:

Page({

data: {

customerData:[{

name:'李某某',

phone:'15975648767',

idnum:'440982345610103217',

disabled:false

}],

},

addCustom:function(){

this.setData({

customerData: this.data.customerData.concat({

del:true,

})

});

},



inputedit:function(e){

let dataset = e.currentTarget.dataset;

let value = e.detail.value;

this.data.customerData[dataset.idx][dataset.obj] = value;

this.setData({

customerData: this.data.customerData

});



},

delCustom:function(e){



let index = e.currentTarget.dataset.idx;

let data = this.data.customerData

data.splice(index,1)

this.setData({

customerData: data

});



}

})

css代码,我用的是weui框架,要在app.wxss引入:

/* 客户信息 */

.weui-form-preview__hd{

background:#F7F8FC;

padding:10px 16px;

}

.weui-form-preview__label{

font-size: 18px;

font-weight: bold;

color:#2F3943;

}

.weui-form-preview__value_in-hd{

font-size: 12px;

color:#3D7EFE;

}

.weui-form-preview__value{

text-align: left;

font-weight: bold;

font-size: 15px;

color:#2F3943

}



.weui-form-preview__hd:after{

border:none;

}

.weui-form-preview:after {

border-bottom:none;

}



.weui-input{

}

  ================================================

付费解决前端问题:

微信小程序前端开发实战项目详解 加入购物车 阅读详情

相关推荐

Windows下Python多版本共存与切换的终极指南(含环境变量详解)

本文详细解析了在Windows系统下实现Python多版本共存与切换的完整方案。通过深入讲解环境变量Path的底层机制,提供了从安装策略、精细化Path管理到创建快速切换脚本的实战指南,并介绍了py启动器和虚拟环境等高级技巧,帮助开发者彻底解决版本冲突问题,提升开发效率。

v6b7n8m9q0的博客 537

微信小程序两个页面之间传递参数的几种方法(wx:for=“{{ dataList }}“)

1,navigator跳转时 wxml页面(参数多时可用“&”) 1 <navigator url='../index/index?id=1&name=aaa'></navigator>   或者添加点击事件,js用navigateTo跳转传参,两种效果一样 wx.navigateTo({ url: '../index/index?id=1&name=aaa', .

CaiXinXing的优快云博客 1216

汽车TARA分析实战:从威胁建模到安全需求落地的完整指南

在汽车电子电气系统开发中,威胁分析与风险评估(TARA)是确保功能安全与网络安全的核心方法论。其原理在于通过结构化的流程,系统性地识别资产、分析威胁场景并评估风险,旨在将安全理念前置,从设计源头规避风险。这一过程的技术价值在于将模糊的安全担忧转化为可量化、可追溯的工程需求,从而指导资源精准投放,是符合ISO 26262和ISO/SAE 21434标准要求的关键实践。其应用场景贯穿智能汽车从概念设计到系统开发的各个阶段,尤其对于涉及自动驾驶、智能座舱、车云通信等复杂功能的域控制器开发至关重要。本文聚焦于TAR

weixin_42706667的博客 304

ios升级16后 weui样式问题

本来h5应用健健康康,谁知测试的同事更新ios16后,页面直接炸裂,对比版本后,确认是ios升级后导致。经过层层排查发现,出问题代码具体css如下 注释掉text-align后大概正常,可将justify改为left就o勾八k .weui-form-preview__label { float: left; margin-right: 1em; min-width: 4em; max-width: em; color: var(--weui-FG-1); text-align: j

weixin_45666360的博客 1707

【计算机视觉40例】案例08:石头剪刀布手势识别

计算机视觉40例——从入门到深度学习(OpenCV-Python)》在介绍Python基础、OpenCV基础、计算机视觉理论基础、深度学习理论的基础上,介绍了计算机视觉领域内具有代表性的40个典型案例。这些案例中,既有传统的案例(数字识别、答题卡识别、物体计数、缺陷检测、手势识别、隐身术、以图搜图、车牌识别、图像加密、指纹识别等),也有深度学习案例(图像分类、风格迁移、姿势识别、实例分割等),还有人脸识别方面的案例(表情识别、驾驶员疲劳监测、识别性别与年龄等)。......

计算机视觉之光 2157

戴尔PowerEdge服务器R450 RAID配置步骤

戴尔PowerEdge服务器R450 RAID配置步骤

且听风呤tmj的博客 6910

微信小程序前端开发-电商购物小程序-异步获取数据,动态绑定数据

在本篇文章我将主要介绍微信小程序中异步获取数据,动态绑定数据。

JuGLe_的博客 738

YOLOv8n行人检测实战:从数据集准备到模型训练

本文详细介绍了使用YOLOv8n进行行人检测的完整流程。首先阐述了YOLOv8的优势:高速推理(300+FPS)、更高精度、易用性和轻量化(仅6MB)。接着通过Docker搭建GPU训练环境,配置32GB共享内存避免数据加载问题,并安装必要的框架和OpenCV组件。数据集采用COCO2017标注格式,包含归一化坐标的YOLO标签文件。通过可视化脚本验证标注准确性后,提出多数据集融合训练策略以增强模型泛化能力。最后使用Ultralytics框架启动训练,展现了从环境搭建到模型训练的完整技术路径。该方案兼顾检测

Hi20240217的博客 1090

微信小程序 | 05.条件渲染、事件绑定

文章目录1.本章概述2.条件渲染2.1.wx:if2.2.hidden3.绑定事件3.1.绑定点击事件 - bindtap(不能加括号并传参)3.2.动态获取输入框的值 - bindinput 1.本章概述 动态展示/隐藏,用wx:if 绑定点击事件函数用bindtap,绑定输入框内容改变事件函数用bindinput 绑定事件后,通过data-xxx="yyy"可将 xxx=yyy 传入函数 在函数中用e接收事件源对象,用e.detail获取参数 2.条件渲染 实现动态渲染,必须用wx:if 2.1.w

xyx-Eshang的博客 948

003:大疆智图新手入门:从下载安装到首次建模实战

本文为大疆智图新手提供从下载安装到首次三维建模的完整实战指南。详细介绍了软件安装的硬件要求、试用许可申请流程,并指导用户如何准备航拍数据或使用开源样例进行首次建模。通过分步操作演示与核心参数设置讲解,帮助初学者快速掌握使用大疆智图进行实景三维重建的核心流程与常见问题解决方案。

t8u9v0的博客 701

Autosar PWM模块的配置和使用

在上面的代码中,我们首先配置了PWM的初始化参数,包括频率和分辨率。GPIO Driver:由于PWM信号需要输出到特定的引脚上,因此我们还需要使用GPIO驱动程序来控制引脚的状态。通过合理配置和应用PWM模块,我们可以实现对汽车电子系统中各种功能的精确控制,从而提高汽车性能和用户体验。在实际应用中,我们可以根据需要进行更多的配置和调整,以实现灵活的PWM控制。PWM Driver:这是主要的PWM驱动程序,负责产生PWM信号并输出到相应的引脚上。接下来,我们需要配置PWM模块的参数。

TcData的博客 682

WeChat小程序开发:基础笔记(一)

一、生命周期 1、什么是生命周期? 小程序启动,表示生命周期的开始。 小程序关闭,表示生命周期的结束。 中间小程序运行的过程,就是小程序的生命周期。 2、生命周期的分类 在小程序中,声明中求分为两类,分别是: 应用生命周期,特指小程序从启动-运行-销毁的过程。 页面生命周期,特指小程序中,每个页面的加载-渲染-销毁的过程。 3、什么是生命周期函数 生命周期函数:是由小程序框架提供的内置函数,会伴随着生命周期,自动按次序执行。 生命周期函数的作用:允许程序员咋特定的时间点,执行某些二特定的操作。 注意:生

qq_2862896879的博客 3467

Ultralytics YOLOv8 英伟达™ Jetson®处理器部署

英伟达™(NVIDIA®)Jetson 是一系列嵌入式计算板卡,旨在为边缘设备带来加速的 AI(人工智能)计算。这些小巧而功能强大的设备围绕英伟达™(NVIDIA®)的GPU架构打造,能够直接在设备上运行复杂的人工智能算法和深度学习模型,而无需依赖云计算资源。Jetson 板卡通常用于机器人、自动驾驶汽车、工业自动化和其他需要在本地以低延迟和高效率执行人工智能推理的应用中。此外,这些板卡基于 ARM64 架构,与传统 GPU 计算设备相比运行功耗更低。英伟达™(NVIDIA®)JetPack SDK。

机器人控制与仿真应用 3876

为什么要进行数据绑定?

“数据绑定”是前端框架技术中的一个概念,比如微信小程序开发中的数据绑定、vue.js中的双向数据绑定。 我们知道前端框架的意义是让前端开发更方便、更高效,那么数据绑定肯定也是为这个目的服务的。 数据绑定是为了实现一种“动态”的效果,后台的数据更新了,前端页面也自动更新;前端页面上的数据更新了,后台的数据也自动更新。 这种动态的思想可以追溯到MVC设计模式: MVC模式最早由 Trygve...

LM Wang的专栏 2356

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

前端面试题

前端面试题 js 一、比较typeof与instanceof? 相同点:JavaScript中typeof和instanceof常用来判断一个变量是否为空,或者是什么类型的。 typeof的定义和用法:返回值是一个字符串,用来说明变量的数据类型。 细节: 1)、typeof一般只能返回如下几个结果: number,boolean,string,function,object,undefined。 2)、typeof来获取一个变量是否存在,如if(typeof a!=“undefined”){alert(“o

weixin_43953422的博客 426

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

微信小程序2

进阶用法。

Yanleibanfan的博客 32

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

微信小程序开发系列(二十二)·wxml语法·双向数据绑定model:的用法

在 WXML 中,普通属性的绑定是单向的,例如:如果希望用户输入数据的同时改变 data 中的数据,可以借助简易双向绑定机制。在对应属性之前添加 model:前缀即可:例如 注意事项:简易双向绑定的属性值如下限制:1、只能是一个单一字段的绑定,例如:错误用法:

时光の尘的博客 5399

鸿蒙OS应用开发:双向数据绑定

原文链接:https://mp.weixin.qq.com/s/6vhg6lQ7VoDxrnH6a6qwzw 西江月·太极未分混沌 [元]王惟一 太极未分混沌,两仪已非其中。 一阳才动破鸿蒙,造化从兹运用。 水火升沉南北,木金间隔西东。 略移斗柄指坤宫,尽把五行错综。 自Angular.js面世后,给前端界带来MVVM(Model-View-ViewModel)的分层架构思想,这也对几乎所有的主流前端框架影响颇深,Angular.js也带来另一个流行概念:双向数据绑定,这个主要体现在表..

luow1988的专栏 5204

第8课 微信小程序双向数据绑定this.setData:

第8课 微信小程序双向数据绑定: 效果图上来吧: 上面的输入框是input标签,输入的值与js代码中的data内的数据绑定 下面的显示文字是获取data内绑定的那个数据的值 微信没有v-mode这种方法哦,所以只能这样实现数据动态绑定 实现双向数据绑定的代码如下: wxml全部代码如下: <!-- bindinput是监听输入时触发change方法的函数 {{属性名}}:这是引入js内...

舜岳的博客 989

微信小程序 双向数据绑定

在微信小程序中,js的数据和前端显示的数据是单数据流,也就是说,js里边的数据变了,前端能立刻显示;但如果前端数据变了,js不能改变。 举个例子 &amp;lt;view class=&quot;weui-cell weui-cell_input&quot;&amp;gt; &amp;lt;view class=&quot;weui-cell__hd&quot;&amp;gt; &amp;lt;view clas

tsfx051435adsl的博客 1万+

绑定onchange_鸿蒙OS应用开发:双向数据绑定

西江月·太极未分混沌[元]王惟一太极未分混沌,两仪已非其中。一阳才动破鸿蒙,造化从兹运用。水火升沉南北,木金间隔西东。略移斗柄指坤宫,尽把五行错综。自Angular.js面世后,给前端界带来MVVM(Model-View-ViewModel)的分层架构思想,这也对几乎所有的主流前端框架影响颇深,Angular.js也带来另一个流行概念:双向数据绑定,这个主要体现在表单控件与其他控件的内...

weixin_39920397的博客 413

学习微信小程序的数据绑定和渲染【含代码示例】

数据绑定与渲染是微信小程序开发的核心技能,理解其原理并熟练运用,能让你构建出响应迅速、交互流畅的用户界面。通过上述示例与技巧的学习,希望每位开发者都能在实际项目中游刃有余,创造出更多优秀的小程序应用。继续探索和实践,不断深化对微信小程序框架的理解,是提升开发效率与产品质量的关键所在。欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。DTcode7的博客首页。

一个做过前端开发的产品经理,经历过睿智产品的折磨导致脱发之后,励志要翻身"农奴"把歌唱,一边打入敌人内部一边持续提升自己,为我们广大开发同胞谋福祉,坚决抵制睿智产品折磨我们码农兄弟! 1103

【微信小程序学习】数据绑定、事件绑定,前端开发避坑指南

2.Vue(1)data中初始化数据(2)修改数据:this.key = value(3)数据流 Vue是单向数据流:model—>viewVue实现了双向数据绑定 v-model二、事件绑定======1、事件分类(1) 冒泡事件(a) 定义:冒泡事件:当一个组件上的事件被触发后,该事件会向父节点传递。

2401_83946261的博客 633

onclick绑定index_鸿蒙OS应用开发:双向数据绑定

西江月·太极未分混沌[元]王惟一太极未分混沌,两仪已非其中。一阳才动破鸿蒙,造化从兹运用。水火升沉南北,木金间隔西东。略移斗柄指坤宫,尽把五行错综。自Angular.js面世后,给前端界带来MVVM(Model-View-ViewModel)的分层架构思想,这也对几乎所有的主流前端框架影响颇深,Angular.js也带来另一个流行概念:双向数据绑定,这个主要体现在表单控件与其他控件的内...

weixin_39607474的博客 223

小程序的数据驱动和双向数据绑定有何异同

在数据驱动模式下,数据的变化会触发界面的更新,但界面的操作无法直接改变数据,需要通过特定的方式间接地改变数据。1. **单向 vs. 双向:** 数据驱动是单向的,即数据的变化驱动界面的更新;而双向数据绑定是双向的,即数据的变化会反映到界面上,同时界面上的操作也会直接改变数据。2. **复杂性:** 双向数据绑定通常需要更复杂的机制来实现,因为需要保持数据和界面的实时同步。3. **适用场景:** 数据驱动适用于简单的数据展示和更新场景,而双向数据绑定适用于需要实时交互和反馈的场景,例如表单输入等。

子玉的博客 575

微信小程序(一)数据流与数据绑定

一、单向数据流和双向数据流 1、单项数据流:指的是我们先把模板写好,然后把模板和数据(数据可能来自后台)整合到一起形成HTML代码,然后把这段HTML代码插入到文档流里面 优点:数据跟踪方便,流向单一,追寻问题比较方便【主要体现:微信小程序】。 缺点:就是写起来不太方便,如果修改UI界面数据需要维护对应的model对象 2、双向数据流:值和UI是双向绑定的,大家都知道,只要UI里面的值发生

西油骄子--Debug 6888
上一篇: 微信小程序和vue向数组添加数据差异
下一篇: window.history.back() IOS返回不刷新的问题
发奋图强_lee
博客等级 码龄12年 1227粉丝 46原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值