微信小程序学习第8天——自定义组件的数据监听器Observer小案例

该文章介绍了一个微信小程序的自定义组件示例,组件包含一个可变颜色背景和三个按钮。点击按钮(RGB)会改变背景颜色,通过数据监听更新颜色值。组件使用了WXML定义结构,WXSS设置样式,JS处理事件和数据。
摘要由CSDN通过智能技术生成

一、案例需求

使用自定义组件的数据监听实现:通过点击下方三个按钮,上方颜色变化(效果如下)
在这里插入图片描述

二、自定义组件代码

自定义组件为test

test.wxml文件代码

<view class="bgccolor" style="background-color: rgb({{colorRGB}});">{{colorRGB}}</view>
<view class="sview">
      <button class="rbtn" bindtap="addR" >R</button>
      <button class="gbtn" type="primary" bindtap="addG">G</button>
      <button class="bbtn" bindtap="addB">B</button>
  </view>

test.wxss文件代码

.bgccolor {
  height: 200rpx;
}

.rbtn { 
  width: 33.33% !important; 
  float:left;
  font-weight: 100;
 }
 .gbtn { 
  width: 33.33% !important;
  float:left;
 }
 .bbtn{
  width: 33.33% !important;
  float:left;
  color: red;
 }

test.js文件代码

Component({
  data:{
    rgb:{
      r:0,
      g:0,
      b:0
    },
    colorRGB:'0,0,0'
  },
  methods:{
    addR(){
      this.setData({
        'rgb.r':this.data.rgb.r +5>255?0:this.data.rgb.r +35
      })
    },
    addG(){
      this.setData({
        'rgb.g':this.data.rgb.g +5>255?0:this.data.rgb.g +20
      })
    },
    addB(){
      this.setData({
        'rgb.b':this.data.rgb.b +5>255?0:this.data.rgb.b +50
      })
    }
  },
  observers:{
    'rgb.r,rgb.g,rgb.b':function(r,g,b){
      this.setData({
        colorRGB:`${r},${g},${b}`
      })
    }
  }
})

三、页面代码

home.json中引入自定义组件test

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

home.WXML文件中使用自定义组件

<my-test></my-test>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
微信小程序是一种轻量级的应用程序开发平台,而Mobx是一种状态管理库。在微信小程序开发中,Mobx可以帮助我们更好地管理和控制应用程序的状态。 Mobx的核心概念是可观察的状态和动态计算。通过使用Mobx,我们可以将应用程序的状态定义为可观察的对象,当状态发生变化时,相关的观察者将自动被通知到。这种响应式的设计模式可以帮助我们更好地组织和管理应用程序的状态,并在状态变化时及时更新相关的界面。 在微信小程序中使用Mobx,我们首先需要将Mobx集成到我们的项目中。可以通过npm安装mobx,并在小程序的入口文件中引入和配置Mobx。接下来,我们需要定义可观察的状态。在小程序中,我们可以使用Mobx提供的@observable装饰器将我们的数据定义为可观察的属性。 当我们的可观察状态发生变化时,我们可以使用Mobx提供的@computed装饰器来定义动态计算属性。这些动态计算属性将根据可观察状态的变化而自动更新,以保持数据的一致性。 除了可观察状态和动态计算属性,Mobx还提供了其他一些功能,如@action装饰器用于定义状态的修改方法,@observer装饰器用于将组件与状态关联起来等等。这些功能可以帮助我们更好地管理和控制应用程序的状态。 总之,微信小程序中的Mobx是一个非常实用的状态管理库,可以帮助我们更好地组织、管理和控制应用程序的状态。通过使用Mobx,我们可以更高效地开发和维护小程序,并提供更好的用户体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值