微信小程序开发入门与实战(数据监听)

简介: 微信小程序开发入门与实战(数据监听)

数据、方法和属性


1、 data 数据


组件模板渲染的私有数据如 👇

/***组件的方法列表*/methods: {
addCount(){
this.setData({
count:this.data.count+1        })
this._TiShi()
    },
_TiShi(){
wx.showToast({
title: 'count是'+this.data.count        })    
    }
},

2、methods 方法


在小程序组件中,事件处理函数和自定义方法需要定义到 methods 节点中,

示例代码如 👇

/***组件的方法列表*/methods: {
addCount(){
this.setData({
count:this.data.count+1        })
this._TiShi()
    },
_TiShi(){
wx.showToast({
title: 'count是'+this.data.count        })    
    }
},

3、properties 属性


在小程序组件中,properties 是组件的对外属性,用来接收外界传递到组件中的数据。

示例代码如 👇

WXML<text1max="5"></text1>//默认值是15这里设置最大值为5,覆盖了最大值COMPONENT<view>添加的值为:{{count}}</view><buttonbindtap="addCount">点击按钮</button>JS/***组件的属性列表*/properties: {
max:{
type:Number,
value:15    }
},
/***组件的方法列表*/methods: {
addCount(){
if(this.data.count>=this.properties.max) return;
this.setData({
count:this.data.count+1        })
this._TiShi()
    },
//提示框_TiShi(){
wx.showToast({
title: 'count是'+this.data.count        })    
    }
},

4、 data 和 properties 的区别


在小程序的组件中,properties 属性和 data 数据的用法相同,它们都是可读可写的 区别如 👇

  1. data 更倾向于存储组件的私有数据
  2. properties 更倾向于存储外界传递到组件中的数据

测试两者是否相等如 👇

/***组件的属性列表*/properties: {
max:{
type:Number,
value:15    }
},
/***组件的初始数据*/data: {
count:1},
proData(){
console.log(this.data.max);
console.log(this.data.count);
console.log(this.data===this.properties);
}

5、使用 setData 修改 properties 的值


由于 data 数据和 properties 属性在本质上没有任何区别,因此 properties 属性的值也可以用于页面渲染,或使用 setData 为 properties 中的属性重新赋值

示例代码如 👇

properties: {
max:{
type:Number,
value:15  }
},
methods: {
addCount(){
if(this.data.count>=this.properties.max) return;
this.setData({
count:this.data.count+1,
max:this.properties.max+1      })
  },
}

数据监听器


1、什么是数据监听器

数据监听器用于监听和响应任何属性和数据字段的变化,从而执行特定的操作。它的作用类似于 vue 中的watch 侦听器。在小程序组件中

数据监听器的基本语法格式如 👇

'字段A''字段B':function(A值,B值){
}

2、监听对象属性的变化

数据监听器支持监听对象中单个或多个属性的变化

代码实习

WXML-------------<viewclass="ColorBox"style="background-color: rgb({{funllColor}});">颜色的值为:{{funllColor}}</view><buttonsize="mini"bindtap="RValue"type="default">R</button><buttonsize="mini"bindtap="GValue"type="primary">G</button><buttonsize="mini"bindtap="BValue"type="warn">B</button><view>颜色的RGB值为:{{rgbValue.r}}-{{rgbValue.g}}-{{rgbValue.b}}
</view>WXSS-------------<viewclass="ColorBox"style="background-color: rgb({{funllColor}});">颜色的值为:{{funllColor}}</view><buttonsize="mini"bindtap="RValue"type="default">R</button><buttonsize="mini"bindtap="GValue"type="primary">G</button><buttonsize="mini"bindtap="BValue"type="warn">B</button><view>颜色的RGB值为:{{rgbValue.r}}-{{rgbValue.g}}-{{rgbValue.b}}
</view>WXJS-------------//components/text1/text1.jsComponent({
/***组件的属性列表*/properties: {
  },
/***组件的初始数据*/data: {
rgbValue:{
r:0,
g:0,
b:0      },
funllColor:'0,0,0'  },
observers:{
"rgbValue.r, rgbValue.g,rgbValue.b":function(r,g,b){
this.setData({
funllColor:`${r},${g},${b}`
      })
    }
  },
/***组件的方法列表*/methods: {
RValue(){
this.setData({
"rgbValue.r":this.data.rgbValue.g+5>255?255: this.data.rgbValue.r+5      })
  },
GValue(){
this.setData({
"rgbValue.g":this.data.rgbValue.g+5>255?255: this.data.rgbValue.g+5    })
  },
BValue(){
this.setData({
"rgbValue.b":this.data.rgbValue.b+5>255?255: this.data.rgbValue.b+5    })
  },
  }
})

如 👇

4.gif

最后


image.png

下篇文章再见ヾ( ̄▽ ̄)ByeBye

image.png

相关文章
|
7月前
|
缓存 小程序 前端开发
商城/点餐/家政类小程序源码合集_微信抖音小程序源码开发从入门到精通实战
本文系统讲解如何利用现有源码快速开发商城、点餐、家政类微信/抖音小程序,涵盖环境搭建、核心功能实现、多平台部署与优化,提供完整技术方案。实战导向,助力开发者高效入门与落地。
|
7月前
|
小程序 PHP 图形学
热门小游戏源码(Python+PHP)下载-微信小程序游戏源码Unity发实战指南​
本文详解如何结合Python、PHP与Unity开发并部署小游戏至微信小程序。涵盖技术选型、Pygame实战、PHP后端对接、Unity转换适配及性能优化,提供从原型到发布的完整指南,助力开发者快速上手并发布游戏。
|
11月前
|
JSON 监控 小程序
微信百度字节小程序包过大解决方案(实战经验总结)-优雅草卓伊凡|果果|小无
微信百度字节小程序包过大解决方案(实战经验总结)-优雅草卓伊凡|果果|小无
1369 14
微信百度字节小程序包过大解决方案(实战经验总结)-优雅草卓伊凡|果果|小无
|
10月前
|
JSON 安全 定位技术
微信附近人提取v3脚本, 微信附近人id提取技术插件,采集附近人wxid数据工具
本内容介绍微信“附近的人”功能的技术原理与实现方法,基于LBS服务,涉及位置模拟、协议分析及数据解析。通过修改GPS坐标或使用Frida等工具hook位置函数
|
小程序 Java 关系型数据库
weixin163基于微信小程序的校园二手交易平台系统设计与开发ssm(文档+源码)_kaic
本文介绍了一款基于微信小程序的校园二手物品交易平台的开发与实现。该平台采用Java语言开发服务端,使用MySQL数据库进行数据存储,前端以微信小程序为载体,支持管理员和学生两种角色操作。管理员可管理用户、商品分类及信息、交易记录等,而学生则能注册登录、发布购买商品、参与交流论坛等。系统设计注重交互性和安全性,通过SSM框架优化开发流程,确保高效稳定运行,满足用户便捷交易的需求,推动校园资源共享与循环利用。
|
小程序 关系型数据库 Java
weixin168“返家乡”高校暑期社会实践微信小程序设计与开发ssm(文档+源码)_kaic
本文探讨高校暑期社会实践微信小程序的开发与应用,旨在通过信息化手段提升活动管理效率。借助微信小程序技术、SSM框架及MySQL数据库,实现信息共享、流程规范和操作便捷。系统涵盖需求分析、可行性研究、设计实现等环节,确保技术可行、操作简便且经济合理。最终,该小程序可优化活动发布、学生信息管理和心得交流等功能,降低管理成本并提高工作效率。
|
小程序 JavaScript 前端开发
微信小程序开发全流程:从注册到上线的完整指南
这篇文章详细记录了微信小程序的完整开发到最终上线的每一个步骤。适合对小程序开发感兴趣的个人开发者或希望了解完整流程的学习者,涵盖了云开发、事件绑定、生命周期管理、组件使用等关键内容。
17139 14
|
移动开发 小程序
thinkphp+uniapp开发的多端商城系统源码/H5/小程序/APP支持DIY模板直播分销
thinkphp+uniapp开发的多端商城系统源码/H5/小程序/APP支持DIY模板直播分销
730 0
|
小程序 前端开发 JavaScript
在线课堂+工具组件小程序uniapp移动端源码
在线课堂+工具组件小程序uniapp移动端源码
399 0
在线课堂+工具组件小程序uniapp移动端源码
|
小程序 前端开发 Java
SpringBoot+uniapp+uview打造H5+小程序+APP入门学习的聊天小项目
JavaDog Chat v1.0.0 是一款基于 SpringBoot、MybatisPlus 和 uniapp 的简易聊天软件,兼容 H5、小程序和 APP,提供丰富的注释和简洁代码,适合初学者。主要功能包括登录注册、消息发送、好友管理及群组交流。
444 1
SpringBoot+uniapp+uview打造H5+小程序+APP入门学习的聊天小项目