微信小程序开发入门与实战(数据监听)

news2025/7/15 4:30:10

请添加图片描述

@作者 : SYFStrive

 
请添加图片描述

@博客首页 : HomePage

📜: 微信小程序

📌:个人社区(欢迎大佬们加入) 👉:社区链接🔗

📌:觉得文章不错可以点点关注 👉:专栏连接🔗

💃:感谢支持,学累了可以先看小段由小胖给大家带来的街舞😀

请添加图片描述
在这里插入图片描述
相关专栏

👉 微信小程序(🔥)

目录

  • 数据、方法和属性
  •     1、 data 数据
  •     2、methods 方法
  •     3、properties 属性
  •     4、 data 和 properties 的区别
  •     5、使用 setData 修改 properties 的值
  • 数据监听器
  •     1、什么是数据监听器
  •     2、监听对象属性的变化
  • 最后

数据、方法和属性

    1、 data 数据

组件模板渲染的私有数据如 👇

/**
 * 组件的方法列表
 */
methods: {
    addCount(){
        this.setData({
            count:this.data.count+1
        })
        this._TiShi()
    },
    _TiShi(){
        wx.showToast({
          title: 'count是'+this.data.count
        })    
    }
},

    2、methods 方法

在小程序组件中,事件处理函数和自定义方法需要定义到 methods 节点中,

示例代码如 👇

/**
 * 组件的方法列表
 */
methods: {
    addCount(){
        this.setData({
            count:this.data.count+1
        })
        this._TiShi()
    },
    _TiShi(){
        wx.showToast({
          title: 'count是'+this.data.count
        })    
    }
},

    3、properties 属性

在小程序组件中,properties 是组件的对外属性,用来接收外界传递到组件中的数据。

示例代码如 👇

WXML
<text1 max="5"></text1> //默认值是15 这里设置最大值为5,覆盖了最大值

COMPONENT
<view>添加的值为:{{count}}</view>
<button bindtap="addCount">点击按钮</button>

JS

/**
 * 组件的属性列表
 */
properties: {
    max:{
        type:Number,
        value:15
    }
},

/**
 * 组件的方法列表
 */
methods: {
    addCount(){
        if(this.data.count>=this.properties.max) return;
        this.setData({
            count:this.data.count+1
        })
        this._TiShi()
    },
    //提示框
    _TiShi(){
        wx.showToast({
          title: 'count是'+this.data.count
        })    
    }
},

    4、 data 和 properties 的区别

在小程序的组件中,properties 属性和 data 数据的用法相同,它们都是可读可写的 区别如 👇

  1. data 更倾向于存储组件的私有数据
  2. properties 更倾向于存储外界传递到组件中的数据

测试两者是否相等如 👇

/**
 * 组件的属性列表
 */
properties: {
    max:{
        type:Number,
        value:15
    }
},
/**
 * 组件的初始数据
 */
data: {
    count:1
},
proData(){
    console.log(this.data.max);
    console.log(this.data.count);
    console.log(this.data===this.properties);
}

    5、使用 setData 修改 properties 的值

由于 data 数据和 properties 属性在本质上没有任何区别,因此 properties 属性的值也可以用于页面渲染,或使用 setData 为 properties 中的属性重新赋值

示例代码如 👇

properties: {
  max:{
      type:Number,
      value:15
  }
},
methods: {
  addCount(){
      if(this.data.count>=this.properties.max) return;
      this.setData({
          count:this.data.count+1,
          max:this.properties.max+1
      })
  },
}

数据监听器

    1、什么是数据监听器

数据监听器用于监听和响应任何属性和数据字段的变化,从而执行特定的操作。它的作用类似于 vue 中的watch 侦听器。在小程序组件中

数据监听器的基本语法格式如 👇

'字段A''字段B':function(A值,B值){

}

    2、监听对象属性的变化

数据监听器支持监听对象中单个或多个属性的变化

代码实习


WXML-------------
<view class="ColorBox" style="background-color: rgb({{funllColor}});">颜色的值为:{{funllColor}}</view>

<button size="mini" bindtap="RValue" type="default">R</button>
<button size="mini" bindtap="GValue" type="primary">G</button>
<button size="mini" bindtap="BValue" type="warn">B</button>

<view>
颜色的RGB值为:{{rgbValue.r}}-{{rgbValue.g}}-{{rgbValue.b}}
</view>

WXSS-------------
<view class="ColorBox" style="background-color: rgb({{funllColor}});">颜色的值为:{{funllColor}}</view>

<button size="mini" bindtap="RValue" type="default">R</button>
<button size="mini" bindtap="GValue" type="primary">G</button>
<button size="mini" bindtap="BValue" type="warn">B</button>

<view>
颜色的RGB值为:{{rgbValue.r}}-{{rgbValue.g}}-{{rgbValue.b}}
</view>

WXJS-------------
// components/text1/text1.js
Component({
  /**
   * 组件的属性列表
   */
  properties: {

  },

  /**
   * 组件的初始数据
   */
  data: {
      rgbValue:{
        r:0,
        g:0,
        b:0
      },
      funllColor:'0,0,0'
  },

  observers:{
    "rgbValue.r, rgbValue.g,rgbValue.b":function(r,g,b){
      this.setData({
        funllColor:`${r},${g},${b}`
      })
    }
  },
  /**
   * 组件的方法列表
   */
  methods: {
    RValue(){
      this.setData({
        "rgbValue.r":this.data.rgbValue.g+5 >255 ? 255: this.data.rgbValue.r+5
      })
  },

  GValue(){
    this.setData({
      "rgbValue.g":this.data.rgbValue.g+5 >255 ? 255: this.data.rgbValue.g+5
    })
  },
  BValue(){
    this.setData({
      "rgbValue.b":this.data.rgbValue.b+5>255 ? 255: this.data.rgbValue.b+5
    })
  },
  }
})

如 👇

在这里插入图片描述

最后

在这里插入图片描述
本文到这里就结束了,大佬们的支持是我持续更新的最大动力,希望这篇文章能帮到大家💪

 

                 相关专栏连接🔗

在这里插入图片描述

下篇文章再见ヾ( ̄▽ ̄)ByeBye

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/405015.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

js构造函数详解

典型的面向对象编程语言&#xff08;比如C和Java&#xff09;&#xff0c;存在“类”&#xff08;class&#xff09;这个概念。所谓“类”就是对象的模板&#xff0c;对象就是“类”的实例。但是&#xff0c;在JavaScript语言的对象体系&#xff0c;不是基于“类”的&#xff0…

前端基本知识介绍

目录 一.前端三剑客 1.前导 2.三剑客的分工 二.VsCode的介绍与配置 1.vscode的介绍 2.vscode的下载安装 3.vscode的使用 3.1 图形界面操作 3.3 常用插件 三.HTML基础标签 HTML基础知识 1.HTML为何物&#xff1f; 2.标签介绍 3.HTML属性 4.HTML标签骨架 基本的H…

微信小程序获取用户openid

小程序端直接获取&#xff1a; 实现代码&#xff1a;直接简单 wx.login({success(res) {if (res.code) {//发起网络请求wx.request({//这里填你自己的appid 和 wxspSecret url: "https://api.weixin.qq.com/sns/jscode2session?appid" wxspAppid"&secre…

2022年微信小程序授权登录的最新实现方案

微信授权登录 我们的项目开发有时候用到用户的一些信息&#xff0c;比如头像&#xff0c;昵称等。目前小程序为我们提供好了wx.getUserProfile方法以供获取用户信息&#xff0c;它的使用非常简单。 wx.getUserProfile方法获取用户信息 不推荐使用 wx.getUserInfo 获取用户信…

vue2.0运行导入的项目出现node:events:491 throw er; // Unhandled ‘error‘ event错误提示解决办法

只为记录自己遇到的错误。 错误提示&#xff1a; App running at: - Local: http://localhost:8080/ - Network: unavailable Note that the development build is not optimized. To create a production build, run npm run build. node:events:491 throw er…

微信小程序支付完整流程(前端)

微信小程序中&#xff0c;常见付款给商家的场景&#xff0c;下面列出企业小程序中&#xff0c;从0起步完整微信支付流程。 一&#xff0c;注册微信支付商户号&#xff08;由上级或法人注册&#xff09; 接入微信支付 - 微信商户平台 此商户号&#xff0c;需要由主管及更上级领导…

快速上手vue的登录界面(最新版)

文章目录一、创建vue项目二、引入依赖三、改造下项目四、写入Login视图总结这是一个非常非常适合新手的vue登录界面&#xff0c;总体来说美观大气&#xff0c;axios那部分没有发&#xff0c;有需要的大家可以自己进行二次开发&#xff0c;继续编写。 用到了技术栈有 vue/cli 5.…

vue3 | 数据可视化实现数字滚动特效

前言 vue3不支持vue-count-to插件&#xff0c;无法使用vue-count-to实现数字动效&#xff0c;数字自动分割&#xff0c;vue-count-to主要针对vue2使用&#xff0c;vue3按照会报错&#xff1a; TypeError: Cannot read properties of undefined (reading _c) 的错误信息。这个时…

idea如何导入jar包

通过添加Libraries的方式引入&#xff1a; 1、首先在根目录下创建一个 libs 的目录 2、打开 File -> Project Structure 3、单击 Libraries -> "" -> "Java" -> 选择我们导入的项目主目录&#xff0c;点击OK 4、注意&#xff1a;在弹出的方框…

Vite 完整版详解

目录 序论&#xff1a; vite架子分析 1、 打包构建&#xff1a; 2、环境变量 3、模式 4、兼容老浏览器 5、typescript相关 6、基本配置 核心配置全集 推荐两个插件插件Volar 、 Vue 3 Snippets 序论&#xff1a; 开发环境&#xff1a;ESMHMR:来实现模块的热更新;类…

前端项目性能优化方案有哪些

目录 一、 加载优化&#xff08;减少http请求数&#xff09; 二、图片优化 三、使用CDN 四、开启Gzip&#xff08;代码压缩&#xff09; 六、减少不必要的Cookie 七、脚本优化 八、前端代码结构的优化 九、SEO优化 一、 加载优化&#xff08;减少http请求数&#xff09…

vue中axios的二次封装——vue 封装axios详细步骤

一、为什么要封装axios api统一管理&#xff0c;不管接口有多少&#xff0c;所有的接口都可以非常清晰&#xff0c;容易维护。 通常我们的项目会越做越大&#xff0c;页面也会越来越多&#xff0c;如果页面非常的少&#xff0c;直接用axios也没有什么大的影响&#xff0c;那页面…

vue3的setup的使用和原理解析

1.前言 最近在做vue3相关的项目&#xff0c;用到了组合式api&#xff0c;对于vue3的语法的改进也是大为赞赏&#xff0c;用起来十分方便。对于已经熟悉vue2写法的同学也说&#xff0c;上手还是需要一定的学习成本&#xff0c;有可能目前停留在会写会用的阶段&#xff0c;但是s…

Swagger-的使用(详细教程)

文章目录前言一、简介二、基本使用1. 导入相关依赖2. 编写配置文件2.1 配置基本信息2.2 配置接口信息2.3 配置分组信息3. 控制 Swagger 的开启4. 常用注解使用ApiModelApiModelPropertyApiOperationApiParam5. 接口调用三、进阶使用1. 添加请求头四、项目下载前言 作为后端开放…

37.JavaScript对象与JSON格式的转换,JSON.stringify、JSON.parse方法的使用方法和注意事项

文章目录JSON处理JSON.stringifystringify的限制排除和替换映射函数格式化使用的空格数量自定义toJSON方法JSON.parse使用reviver总结JSON处理 JSON&#xff08;JavaScript Object Notation&#xff09;是JavaScript表达值和对象的通用数据格式&#xff0c;其本质就是符合一定…

2023前端面试题及答案整理(JavaScript)

JS类型 string&#xff0c;number&#xff0c;boolean&#xff0c;undefined&#xff0c;null&#xff0c;symbol&#xff08;es6&#xff09;&#xff0c;BigInt&#xff08;es10&#xff09;&#xff0c;object 值类型和引用类型的区别 两种类型的区别是&#xff1a;存储位…

Js各种时间转换问题(YYYY-MM-DD 时间戳 中国标准时间)

1. 类型总结 指定格式 YYYY-MM-DD HH:MM:SS时间戳中国标准时间 Sat Jan 30 2022 08:26:26 GMT0800 (中国标准时间) new Date()获得系统当前时间就会是这种形式 2. 类型之间的转换 时间戳转换为 yyyy-mm-dd或yyyy-MM-dd HH-mm-ss function timestampToTime(timestamp) {var …

【vue】 配置代理

文章目录参考文档跨域问题引入配置代理解决跨域问题&#xff1a;方法一&#xff1a;方法二&#xff1a;使用方法二最终的文件&#xff1a;总结参考文档 尚硅谷视频&#xff1a;https://www.bilibili.com/video/BV1Zy4y1K7SH?p95 axios官网教程&#xff1a;https://axios-htt…

uniapp分包,小程序分包处理,详解(图解),手把手从0开始

一、为什么要分包 因小程序有体积和资源加载限制&#xff0c;优化小程序的下载和启动速度。 二、主包和分包 所谓的主包&#xff0c;即放置默认启动页面/TabBar 页面&#xff0c;以及一些所有分包都需用到公共资源/JS 脚本&#xff1b;而分包则是根据pages.json的配置进行划…

微信小程序详细教程(建议收藏)

一.小程序的开发准备 1. 小程序的安装与创建 第一步 打开小程序官网第二步 找到开发管理&#xff0c;找到开发设置&#xff0c;下面有一个AppID&#xff0c;复制即可&#xff0c;后面开发小程序需要用 新建项目 &#xff0c;需要先下载微信开发工具下载网址&#xff0c;安装完…