ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

微信小程序-自定义组件之数据监听器

2022-02-03 20:03:45  阅读:177  来源: 互联网

标签:自定义 微信 fullColor rgb 监听器 test setData data 255


在这里插入图片描述
点击R G B改变view颜色

<!--components/test/test.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>
<!-- <view>{{rgb.r}},{{rgb.g}},{{rgb.b}}</view> -->
// components/test/test.js
Component({
  properties: {

  },
  data: {
    rgb:{
      r:0,
      g:0,
      b:0
    },
    fullColor:'0, 0, 0'
  },
  observers:{
    'rgb.r,rgb.g,rgb.b':function(r,g,b){
      this.setData({
        fullColor:`${r}, ${g}, ${b}`
      })
    }
    // 'rgb.**':function(obj){
    //   this.setData({
    //     fullColor:`${obj.r}, ${obj.g}, ${obj.b}`
    //   })
    // }
  },
  methods: {
    changeR() {
      this.setData({
        'rgb.r': this.data.rgb.r + 5 > 255 ? 255 : this.data.rgb.r + 5
      })
    },
    changeG() {
      this.setData({
        'rgb.g': this.data.rgb.g + 5 > 255 ? 255 : this.data.rgb.g + 5
      })
    },
    changeB() {
      this.setData({
        'rgb.b': this.data.rgb.b  + 5 > 255 ? 255 : this.data.rgb.b + 5
      })
    }
  }
})
/* components/test/test.wxss */
.colorBox{
  line-height: 200rpx;
  font-size: 24rpx;
  color: white;
  text-shadow: 0rpx 0rpx 2rpx black;
  text-align: center;
}

app.json中全局引用

  "usingComponents": {
    "my-test":"/components/test/test"
  }

组件使用:

<!--pages/home/home.wxml-->
<my-test></my-test>

标签:自定义,微信,fullColor,rgb,监听器,test,setData,data,255
来源: https://blog.csdn.net/qq_45705923/article/details/122778221

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有