小程序自定义组件中observer函数的应用

<!-- 单个数据监听 -->
<view>白菜</view>
<view>价格:{{price}}</view>
<!-- bindinput输入时触发方法 -->
<view>数量: <input type="number"  bindinput=‘changee‘ value="{{num1}}"></input></view>
<view>总价:{{sum}}</view>

<!-- 多个数据监听 -->
<view class=‘sum2‘>
<input class=‘inlineInput‘ type="number"  bindinput=‘changeNum2‘ value="{{num2}}"></input>+
<input class=‘inlineInput‘ type="number"  bindinput=‘changeNum3‘ value="{{num3}}"></input>=
<text>{{sum2}}</text>
</view>

js

// components/date/index.js
Component({
  /**
   * 组件的属性列表
   */
  properties: {

  },

  /**
   * 组件的初始数据
   */
  data: {
    num1: 0,
    sum:0,
    price: 2,
    num2: 0,
    num3: 0,
    sum2: 0
  },

  /**
   * 组件的方法列表
   */
  methods: {
    changee(e){
      // console.log(e);
      let num1 = e.detail.value;
      this.setData({
        num1: num1
      })
    },
    changeNum2(e){
      let num2 = e.detail.value;
      this.setData({
        num2: num2
      })
    },
    changeNum3(e) {
      let num3 = e.detail.value;
      this.setData({
        num3: num3
      })
    }
  },
  observers: { //观察者:属性监听
    //单个监听
    ‘num1‘(num1) {
      this.setData({
        sum: num1*this.data.price
      })
    },
    //多个监听
    ‘num2,num3‘(num2,num3){
      num2 == ‘‘ && (num2 = 0);
      num3 == ‘‘ && (num3 = 0);
      this.setData({
        sum2: parseFloat(num2) + parseFloat(num3)
      })
    }
  }

})

原文地址:https://www.cnblogs.com/duanzhenzhen/p/11304636.html

时间: 2024-09-30 18:59:42

小程序自定义组件中observer函数的应用的相关文章

微信小程序自定义组件的使用以及调用自定义组件中的方法

在写小程序的时候,有时候页面的内容过多,逻辑比较复杂,如果全部都写在一个页面的话,会比较繁杂,代码可读性比较差,也不易于后期代码维护,这时候可以把里面某部分功能抽出来,单独封装为一个组件,也就是通常说的自定义组件,自定义组件类似于页面,它有wxml 模版.wxss 样式和js文件,然后在页面中使用该自定义组件即可. 例如,我的自定义组件代码结构是这样的: myComponent文件就是我所创的自定义组件,myComponent.wxml文件代码为: <view class="inner&q

微信小程序自定义组件的使用

在小程序的设计中,可能存在很多个页面要使用同一个组件的情况,比如说,设计了4个页面,每个页面的顶部都需要显示一个搜索框,如果在每个页面都复制同一份搜索框的代码,也不能说不是个办法,但没必要这么麻烦,此时可以引入自己定义的组件,大概意思就是,将搜索框的实现设置为自定义组件,单独写出来,此后哪个页面需要用到时就直接在对应页面的json文件中引入即可. 一下是视频教资料中的一个例子 目录结构如下:其中新建一个components目录来存放searchbar页面(自定义的组件) searchbar.wx

小程序自定义组件

要做自定义组件,我们先定一个小目标,比如说我们在小程序中实现一下 WEUI 中的弹窗组件,基本效果图如下. Step1 我们初始化一个小程序(本示例基础版本库为 1.7 ),删掉里面的示例代码,并新建一个 components 文件夹,用于存放我们以后开发中的所用组件,今天我们的目的是实现一个 弹框 组件,因此,我们在 components 组件中新建一个 Dialog 文件夹来存放我们的弹窗组件,在 Dialog 下右击新建 Component 并命名为 dialog 后,会生成对应的 jso

微信小程序 自定义组件 引入组件

项目结构: 步骤一:创建组件 声明这一组文件为自定义组件 modal.json { "component": true, // 自定义组件声明 "usingComponents": {} // 可选项,用于引用别的组件 } 步骤二:编写组件代码 1.逻辑层 modal.js Component({ properties: { modalHidden: { type: Boolean, value: true }, //这里定义了modalHidden属性,属性值可以

微信小程序 自定义组件(stepper)

项目目录: 步骤一:创建组件 声明这一组文件为自定义组件 stepper.json { "component": true, "usingComponents": {} } 步骤二:编写组件代码 1.逻辑层 stepper.js // component/stepper/stepper.js Component({ properties: { // }, data: { // 这里是一些组件内部数据 // input默认是1 num: 1, // 使用data数据对

微信小程序 地图组件中marker无法使用网络图片问题

最近做微信小程序的时候,要做一个地图找房的功能,是这个样子的 后台贴心底提供了价格标签的图片 根据微信小程序文档,这里使用markers里的iconPath加载后台给我的url就行了 但是编译后却发现图片没有加载出来 直接给出我的解决方法 先把图片下载到本地,然后再进行使用 原文地址:https://www.cnblogs.com/hitore/p/8505643.html

小程序自定义组件的制作的使用(文字流动效果示例)

组件wxml代码 <scroll-view class="container"> <view class="scrolltxt"> <view class="marquee_box"> <view class="marquee_text" style="transform: translateX(-{{marqueeDistance}}px)"> <te

微信小程序自定义弹窗wcPop插件|仿微信弹窗样式

微信小程序自定义组件弹窗wcPop|小程序消息提示框|toast自定义模板弹窗 平时在开发小程序的时候,弹窗应用场景还是蛮广泛的,但是微信官方提供的弹窗比较有局限性,不能自定义修改.这个时候首先想到的是自定义组件化开发,就是把弹出框封装成一个组件,然后多处调用. 解决了小程序开发自定义弹窗出现后,遮罩层下的页面仍可以滚动的方法: 给遮罩层的最外层view中加入catchtouchmove="preventTouchMove" 即可解决该遮罩层点透问题. 根据需要还可以自定义多个按钮及事

微信小程序image组件开发程序以及相关图片问题参考资料汇总

微信小程序image组件开发程序以及相关图片问题参考资料汇总,希望对大家小程序开发能有一定的参考和借鉴价值.以下汇总主要涉及到微信小程序image组件有关资源路径.缩放和剪裁模式等进行的探讨,无论是对微信小程序新手还是正在开发中的朋友都是很好的小程序学习资料. 微信小程序image组件必备基础知识: image组件默认宽度300px.高度225px image的属性mode有13种模式,其中4种是缩放模式,9种是裁剪模式 image组件开发教程汇总: 微信小程序自定义组件实现图片单指拖动.双指缩