十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

微信小程序实战:数据绑定与事件绑定

微信小程序实战:数据绑定与事件绑定 前言在微信小程序开发中数据绑定实现逻辑层 JS 和视图层 WXML 的数据互通事件绑定用来响应用户点击等交互操作。本案例演示普通变量、算术运算、对象、数组四种数据绑定方式同时实现按钮点击事件调用setData动态更新页面完成页面数据刷新。参考官方文档数据绑定 | 微信开放文档一、案例需求演示多种数据绑定普通变量、算术运算、对象、数组绑定使用bind:tap实现按钮点击事件点击按钮调用this.setData()修改 data 中的数据页面自动刷新拓展作业给学生对象新增major专业属性初始化和点击按钮后都展示专业信息。二、项目实现1. 创建项目新建小程序项目不使用云服务、不使用模板项目名称数据和事件绑定。2. 编写页面结构 index.wxml使用 Mustache 语法{{ }}完成单向数据绑定按钮通过bind:tap绑定点击事件modify。!--index.wxml--navigation-bar title数据和事件绑定 back{{false}} colorblack background#FFF/navigation-barscroll-view classscrollarea scroll-y typelistview classboxview classtitle各种类型的数据绑定示例/viewview classtxt-styleview算术运算绑定{{a}}{{b}}{{c}}{{a b c}}/viewview对象绑定--学号{{student.stuId}}/viewview对象绑定--姓名{{student.name}}/viewview对象绑定--生日{{student.birthDay}}/view!--作业拓展新增专业属性--view对象绑定--专业{{student.major}}/viewview数组绑定--array[0]{{array[0]}}/viewview数组绑定--array[1]{{array[1]}}/viewview数组绑定--array[2]{{array[2]}}/view/view!--bind:tap绑定点击事件触发modify处理函数--button typeprimary bind:tapmodify修改绑定数据/button/view/scroll-view说明小程序数据绑定是单向绑定数据只能从 js 逻辑层流向 wxml 视图层。普通变量{{a}}对象属性{{student.stuId}}数组下标{{array[0]}}支持简单算术运算{{a b c}}3. 页面逻辑 index.jsdata存放页面渲染数据modify是按钮点击事件通过this.setData()更新数据。Page({/*** 页面的初始数据*/data: {a: 10,b: 20,c: 30,student: {stuId: 24103046,name: 张三,birthDay: 2005-09-01,//作业新增专业字段major: 软件工程和大数据},array: [2023, 2024, 2025]},// 按钮点击事件处理函数modify() {this.setData({a: 100,b: 200,c: 300,student: {stuId: 20220123,name: 李四,birthDay: 2002-12-10,major: 计算机科学与技术},array: [2018, 2019, 2020]})}})小程序只有 setData 可以把数据同步到页面视图直接修改 this.data 页面不会刷新。setData 将逻辑层数据传递到视图层触发页面渲染。性能优化只传入发生变化的字段尽量使用数据路径修改对象 / 数组局部不要直接setData(this.data)。和页面渲染无关的数据不要写在 data 中可以挂载到this上。4. 页面样式 index.wxss/**index.wxss**/page {height: 100vh;display: flex;flex-direction: column;}.scrollarea {flex: 1;overflow-y: hidden;}.txt-style {font-size: 40rpx;line-height: 2em;margin-left: 20rpx;}5. 全局样式 app.wxss/**app.wxss**/.box {margin: 20rpx;padding: 20rpx;border: 2rpx solid silver;}.title {font-size: 40rpx;font-weight: bolder;text-align: center;margin-bottom: 30rpx;color: red;}三、运行效果初始页面算术运算绑定10203060对象绑定--学号20250822对象绑定--姓名张三对象绑定--生日2005-09-01对象绑定--专业软件工程和大数据数组绑定--array[0]2023数组绑定--array[1]2024数组绑定--array[2]20252. 点击【修改绑定数据】按钮后算术运算绑定100200300600对象绑定--学号20220123对象绑定--姓名李四对象绑定--生日2002-12-10对象绑定--专业计算机科学与技术数组绑定--array[0]2018数组绑定--array[1]2019数组绑定--array[2]2020四、核心知识总结数据绑定使用{{ }}双大括号 Mustache 语法单向数据绑定JS → WXML支持普通变量、算术运算、对象属性、数组下标。事件绑定bind:tap事件函数名给组件绑定点击交互wxml 绑定的函数必须在 Page 中定义。setData 机制是小程序更新 UI 的唯一手段data 存放页面渲染所需数据无关数据不要放 data注意调用频率减少不必要渲染提升性能。作业拓展给 student 对象增加major专业属性初始化与点击按钮后分别展示不同专业。五、实验小结本案例掌握小程序数据绑定和事件绑定的基础用法理解逻辑层与视图层之间的数据流转明白setData的作用与性能注意事项是小程序开发最基础、最核心的知识点。
返回列表