微信小程序数据监听器小案例
一 组件 .js
Component({
/**
* 组件的初始数据
*/
data: {
_rgb: { // rgb 的颜色值对象
r: 0,
g: 0,
b: 0
},
fullColor: '0, 0, 0' // 根据 rgb 对象的三个属性,动态计算 fullColor 的值
},
/**
* 组件的方法列表
*/
methods: {
changeR() { // 修改 rgb 对象上 r 属性的值
this.setData({
'_rgb.r': this.data._rgb.r + 5 > 255 ? 255 : this.data._rgb.r + 5
})
},
changeG() { // 修改 rgb 对象上 g 属性的值
this.setData({
'_rgb.g': this.data._rgb.g + 5 > 255 ? 255 : this.data._rgb.g + 5
})
},
changeB() { // 修改 rgb 对象上 b 属性的值
this.setData({
'_rgb.b': this.data._rgb.b + 5 > 255 ? 255 : this.data._rgb.b + 5
})
},
_randomColor() {
this.setData({
_rgb: {
r: Math.floor(Math.random() * 256),
g: Math.floor(Math.random() * 256),
b: Math.floor(Math.random() * 256)
}
})
}
},
// 监听对象中指定属性的变化
observers: {
'_rgb.**': function (obj) { // 监听 rgb 对象上 r、g、b 三个子属性的变化 如果某个对象中需要被监听的属性太多,为了方便,可以使用通配符 ** 来监听对象中所有属性的变化
this.setData({ // 为 data 中的 fullColor 重新赋值
fullColor: `${obj.r}, ${obj.g}, ${obj.b}`
})
}
}
})
二 .wxml 结构
<view style="background-color: rgb({{fullColor}});" class="colorBox">颜色值:{{fullColor}}</view>
<button size="mini" type="default" bindtap="changeR">R</button>
<button size="mini" type="primary" bindtap="changeG">G</button>
<button size="mini" type="warn" bindtap="changeB">B</button>
三 .wxss 样式
.colorBox {
line-height: 200rpx;
font-size: 24rpx;
color: white;
text-shadow: 0rpx 0rpx 2rpx black;
text-align: center;
}
四 测试效果
微信小程序数据监听器小案例相关推荐
- 使用proxy替代setData实现小程序 数据代理
小程序 数据代理 微信开发工具导入项目 新建项目 -> 导入src文件 -> 预览效果 代码 proxy.js const nativePage = Pageconst nativeCom ...
- 微信公众号与小程序数据互通
背景 最近做了一个有意思的功能<官网内容订阅>,用户在官网扫码后可以订阅官网栏目,订阅栏目后发送模版消息提醒用户订阅成功,模版消息关联了小程序,然后做了一个小程序来管理用户订阅的栏目,小程 ...
- 微信小程序前后端交互案例
微信小程序前后端交互案例 首先声明一下,本人也是一个初学者(下面的案例可能会有很多不完整或说的不正确的,所以只能起到参考作用,千万不要拿我的话当标准). 我是纯自学,之前在前后端交互方面一直搞不懂,所 ...
- 微信小程序数据渲染和数据请求
微信开放文档 数据渲染 概念:微信小程序和Vue实现理念是一致的,是基于数据驱动完成页面数据的自动化渲染.微信小程序中数据和Vue一样是响应式,即数据的更改会驱动页面进行数据的刷新. 具体操作 首先找 ...
- 通过思维导图带你回顾微信公开课和微信小程序数据
[回复"1024",送你一个特别推送] 本来这篇文章应该是在前天微信公开课当天写的,但是最近实在太忙了,就一直拖到了现在.张小龙作为一个技术转型产品经理最成功的案例,其实有很多地方 ...
- [微信小程序]知识总结及案例汇总
#目录 主要从以下几个方面给大家总结一下微信小程序相关的知识! ####1 前言 ####2.什么是小程序? ####3.微信小程序在微信开发中的位置? ####4.微信小程序框架–MINA #### ...
- Charles抓取微信小程序数据 以及 其它应用网站数据
为了抓取小程序数据所以使用Charles来抓取,下面介绍下使用方法(mac环境下使用).使用Charles可以非常方便的抓取Http/Https请求.官方dmg下载地址:点击此处下载 Charles抓 ...
- 微信小程序数据拼接_微信小程序用户数据解密算法Java版
打开官方文档,开心~ 腾讯爸爸竟然给提供了解密算法 然而我下载解压后人傻了 可能鹅厂没养Java程序猿吧 那就看这C++改造吧 public class AnthCodeVerify { privat ...
- 微信小程序数据统计和错误统计的实现
某些情况下我们需要对小程序某些用户的行为进行数据进行统计,比如统计某个页面的UV, PV等,统计某个功能的使用情况等.好让产品对于产品的整个功能有所了解. 在网页里,我们很多人都用过谷歌统计,小程序里 ...
最新文章
- Java项目:学生考勤管理系统(java+SSM+Poi导出+Easyui+JFreeChart+maven+mysql)
- 金融科技公司采用大数据领先银行的三种方式
- linux下运行时链接库的路径顺序
- 记住一个道理:只要自己变优秀了,其他的事情才会跟着好起来。
- activity切换效果
- TortoiseSVN无法查看日志和SVN LOG无法查看日志的解决办法。
- python中的递归函数是什么_讲解Python中的递归函数
- java 8 新特性之日期-时间 API
- python连接sqlite数据库的代码_Python3实现连接SQLite数据库的方法
- 【Android Developers Training】 58. 缓存位图
- HDU 1542:Atlantis(扫描线+线段树 矩形面积并)***
- window.open怎么设置title_企业seo怎么优化 都有那些策略?
- 针对github权限导致hexo部署失败的解决方案
- ❤️《大前端—NPM包管理器》
- python发出报警声音(C#一样适用)
- C++学习 十五、类继承(4)基类方法重写,隐藏
- mac键盘锁住了怎么解决 苹果电脑键盘锁住了解决方法
- linux可运行的steam游戏吗,Steam现在可以在Linux上玩仅Windows游戏
- 量子化学计算机理,计算量子化学团队
- 设置jupyter notebook默认浏览器
热门文章
- 如果你知道10条以上,你就是知识渊博的人了哦^_^
- vue定义全局颜色变量
- python爬虫论文摘要怎么写_Python爬虫根据关键词爬取知网论文摘要并保存到数据库中【入门必学】...
- fcpx插件:Stupid Raisins Insta Pop(87个动画社交媒体标题)
- 使用AIDL+动态代理+运行时注解+反射 反手撸一套Android跨进程通信框架
- JS中Ajax的使用
- 串口通信操作STM32f4单片机LED 蜂鸣器(io)
- Mysql原理知识全解
- gps修改国内服务器,修改a-gps服务器的地址
- 零时科技 | Feminist Metaverse遭受攻击,损失 11 亿枚 FM