第14课 微信小程序observers属性监听器:

第14课 微信小程序observers属性监听器:

observers数据监听器可以用于监听和响应任何属性和数据字段的变化

组件内使用observers数据监听器:

Component({
  properties: {
    // 这里定义了innerText属性,属性值可以在组件使用时指定
  },
  data: {
    // 这里是一些组件内部数据
    //content: 'sdcedc', //主件的数据显示权比behavior高
    amount: 1,
    price: 2,
    priceall: 0
  },
  observers:{ //观察者:属性监听
    'amount'(data) {  //单个监听
      console.log('数量改变了')
    },
    'amount,price'(amount, price) {  //多个监听
      this.setData({
        priceall: amount * price
      })
    }
  },
  methods: {
    // 这里是一个自定义方法
    changee(e) {
      let amounts = e.detail.value
      // console.log(amounts)
      this.setData({
        amount: amounts
      })
      console.log(this.data.amount)
      // this.data.amount = e.detail.value
    }
  }
})

下面是wxml代码:

<view>白菜</view>
<view>价格:{{price}}</view>
<!-- bindinput输入时触发方法 -->
<view>数量: <input type="number"  bindinput='changee' value="{{amount}}"></input></view>
<view>总价:{{priceall}}</view>

效果图如下:

在这里插入图片描述

当数量变化时,总价也跟着变化!

  • 1
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
微信小程序的组件开发中,`observe`是一个用于监听组件属性变化的属性观察器。当组件属性的值发生变化时,`observe`会触发对应的回调函数。下面是一个示例,展示了如何在微信小程序中使用`observe`: 1. 在组件的js文件中定义属性和`observe`回调函数: ```javascript Component({ properties: { // 定义一个属性 text: { type: String, value: '', observer: function(newVal, oldVal) { // 监听属性变化的回调函数 console.log('属性 text 的值从', oldVal, '变为', newVal); } } } }) ``` 2. 在页面的wxml文件中引入组件,并绑定属性: ```html <view> <!-- 引入组件,并绑定属性 --> <my-component text="{{myText}}"></my-component> </view> ``` 3. 在页面的js文件中定义属性值并更新: ```javascript Page({ data: { myText: 'Hello World' }, onLoad: function() { // 延时更新属性值 setTimeout(() => { this.setData({ myText: 'Hello ChitGPT' }); }, 2000); } }) ``` 在以上示例中,组件定义了一个名为`text`的属性,并通过`observer`属性指定了一个回调函数。当`text`属性的值发生变化时,回调函数将被触发,并打印出新旧属性值。 在页面中引入该组件时,使用`text="{{myText}}"`将页面的`myText`属性绑定到组件的`text`属性上。初始值为`Hello World`。 在页面的`onLoad`生命周期函数中,通过`setData`方法更新了`myText`属性的值为`Hello ChitGPT`,并将值更新延时了2秒钟。 当属性值更新时,`observer`回调函数会被触发,并打印出新旧属性值。在这个例子中,2秒后控制台将会输出"属性 text 的值从 Hello World 变为 Hello ChitGPT"。 这样,通过使用`observe`可以监听组件属性的变化,并在回调函数中执行相应的操作。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值