【微信小程序】-- 自定义组件 -- 数据、方法和属性(三十三)

这篇具有很好参考价值的文章主要介绍了【微信小程序】-- 自定义组件 -- 数据、方法和属性(三十三)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【微信小程序】-- 自定义组件 -- 数据、方法和属性(三十三)

  • 💌 所属专栏:【微信小程序开发教程】

  • 😀 作  者:我是夜阑的狗🐶

  • 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询!

  • 💖 欢迎大家:这里是CSDN,我总结知识的地方,喜欢的话请三连,有问题请私信 😘 😘 😘


前言

  大家好,又见面了,我是夜阑的狗🐶,本文是专栏【微信小程序开发教程】专栏的第33篇文章;
  今天开始学习微信小程序的第17天💖💖💖,开启新的征程,记录最美好的时刻🎉,每天进步一点点。
  专栏地址:【微信小程序开发教程】, 此专栏是我是夜阑的狗微信小程序开发过程的总结,希望能够加深自己的印象,以及帮助到其他的小伙伴😉😉。
  如果文章有什么需要改进的地方还请大佬不吝赐教👏👏。


一、自定义组件 - 数据、方法和属性

  前面已经学习了小程序中的自定义组件 – 创建与引用&样式,通过栗子了解到组件全局引用和局部引用,以及组件和页面之间的区别,还有页面、组件样式之间的隔离。接下来就来讲解一下另外一个自定义组件 - 数据、方法和属性。话不多说,让我们原文再续,书接上回吧。

【微信小程序】-- 自定义组件 -- 数据、方法和属性(三十三)

1、data 数据

  在小程序组件中,用于组件模板渲染的私有数据,需要定义到 data 节点中,具体代码如下:

test1.js

Component({
  /**
   * 组件的初始数据
   */
  data: {
    count: 0
  },
})

2、methods 方法

  在小程序组件中,事件处理函数和自定义方法需要定义到 methods 节点中,这里通过按钮自加1的栗子来了解一下,而且点击按钮时候还要有弹窗提示 count 值,具体代码如下:

test1.wxml

<view>count当前的值是:{{count}}</view>
<button bindtap="addCount">+1</button>

test1.js

  组件的方法列表可以包含事件处理函数和自定义方法,一般自定义方法都建议以 _ 开头,方便与事件处理函数进行区分。

Component({
  /**
   * 组件的方法列表
   */
  methods: {
    // 点击事件处理函数
    addCount(){
      this.setData({
        count: this.data.count + 1
      });
      this._showCount();
    },
    // 自定义方法
    _showCount(){
      wx.showToast({
        title: 'count值为:' + this.data.count,
        icon: 'none'
      })
    }
  }
})

  当点击按钮就有弹窗提示当前 count 值,可以来看一下运行效果:

【微信小程序】-- 自定义组件 -- 数据、方法和属性(三十三)

3、properties 属性

  在小程序组件中,properties 是组件的对外属性,常用来接收外界传递到组件中的数据,定义方式有以下两种:

  • 完整定义

  完整定义方式是可以指定属性的数据类型和默认值。

Component({
  /**
   * 组件的属性列表
   */
  properties: {
    max: {
      type: Number, // 属性值的数据类型
      value: 10  // 属性默认值
    },
  },
})
  • 简化定义

  简化定义属性只是指定属性的数据类型而已。

Component({
  /**
   * 组件的属性列表
   */
  properties: {
    max:Number 
  },
})

  当需要知道属性默认值时,建议使用完整定义属性,而不需要指定属性默认值时,可以使用简化方式。

  这里以完整定义为例,当点击按钮加到最大值时,就不能在加了,具体代码如下:

message.wxml

  给组件传递最大值参数

<view></view>
<my-test1 max="9"></my-test1>

test1.js

Component({
  /**
   * 组件的方法列表
   */
  methods: {
    // 点击事件处理函数
    addCount(){
      if(this.data.count >= this.properties.max) return;
      this.setData({
        count: this.data.count + 1
      });
      this._showCount();
    },
    // 自定义方法
    _showCount(){
      wx.showToast({
        title: 'count值为:' + this.data.count,
        icon: 'none'
      })
    }
  }
})

  当 count 累加到 9 时,再点击按钮就不会生效了,可以来看一下实际运行效果:

【微信小程序】-- 自定义组件 -- 数据、方法和属性(三十三)

4、data 和 properties 的区别

  在 Vue 中 data 是组件的私有数据,properties 是外界传到组件的数据,同时,对于组件来说,data 是可读可写的,而 properties 是只读的。
  但在小程序的组件中,properties 属性和 data 数据的用法相同,它们都是可读可写的,只不过:

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

  下面通过一个栗子来说明小程序中 data 和 properties都指向同一对象,具体代码如下:

test1.wxml

<button bindtap="showInfo">showInfo</button>

test1.js

  当 data 和 properties 的对比结果为 true 时,说明这两者都指向同一个对象。

Component({
  /**
   * 组件的方法列表
   */
  methods: {
    showInfo(){
      console.dir(this.data);
      console.dir(this.properties);
      console.dir(this.data === this.properties);
    },
  }
})

  可以发现 data 和 properties 都打印出相同的值,而且结果为 true ,说明这两者都是可读可写的,来看一下运行结果:

【微信小程序】-- 自定义组件 -- 数据、方法和属性(三十三)

5、使用 setData 修改 properties 的值

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

test1.wxml

  在组件的 wxml 文件中使用 properties 属性的值。

<view>max属性的值是:{{max}}</view>

test1.js

   使用 setData 修改属性的值。

Component({
  /**
   * 组件的方法列表
   */
  methods: {
    // 点击事件处理函数
    addCount(){
      if(this.data.count >= this.properties.max) return;
      this.setData({
        count: this.data.count + 1,
        max: this.properties.max,
      });
      this._showCount();
    },
  }
})

   当点击 +1 按钮的时候,count 和 max 都会进行 +1 操作,可以来看一下运行效果:

【微信小程序】-- 自定义组件 -- 数据、方法和属性(三十三)


总结

  感谢观看,这里就是常用的视图容器类组件的介绍使用,如果觉得有帮助,请给文章点个赞吧,让更多的人看到。🌹 🌹 🌹

【微信小程序】-- 自定义组件 -- 数据、方法和属性(三十三)

  也欢迎你,关注我。👍 👍 👍

  原创不易,还希望各位大佬支持一下,你们的点赞、收藏和留言对我真的很重要!!!💕 💕 💕 最后,本文仍有许多不足之处,欢迎各位认真读完文章的小伙伴们随时私信交流、批评指正!下期再见。🎉

更多专栏订阅:

  • 😀 【LeetCode题解(持续更新中)】
  • 🚝 【Java Web项目构建过程】
  • 💛 【微信小程序开发教程】
  • 【JavaScript随手笔记】
  • 🤩 【大数据学习笔记(华为云)】
  • 🦄 【程序错误解决方法(建议收藏)】
  • 🚀 【软件安装教程】



订阅更多,你们将会看到更多的优质内容!!文章来源地址https://www.toymoban.com/news/detail-487680.html

到了这里,关于【微信小程序】-- 自定义组件 -- 数据、方法和属性(三十三)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序——常用组件的属性介绍

    text 文本组件 类似于HTML中的span标签,是一个行内元素 rich-text 富文本标签 支持把HTML字符串渲染为WXML结构 text标签的基本使用 通过text组件的selectable属性,实现长按选中文本内容的效果。只有text标签支持长按选中效果,其他的组件是不支持的 结构内容代码: view class=\\\"text-

    2024年02月07日
    浏览(75)
  • 【微信小程序】父组件修改子组件数据或调用子组件方法

    一、使用场景 页面中用到了自定义组件形成父子组件关系,在父组件某个特定时期想要操作子组件中的数据或方法,比如离开页面的时候清空子组件的数据。 二、方法 父组件可以通过 this.selectComponent 方法获取子组件实例对象,这样就可以直接访问组件的任意数据和方法 调

    2024年02月14日
    浏览(66)
  • 微信小程序实现数值监听(页面和组件属性)

    简介 目前文章主要介绍对页面属性值的监听以及组件属性值的监听。需要异页面监听数据,请跳转至另一个文章介绍 为什么需要监听属性值 当需要通过一个属性变化时候,需要计算相应的方法等。pc网站经常需要监听属性,那么小程序应该怎么去实现? 1、首先创建公共的

    2024年02月09日
    浏览(61)
  • 微信小程序(四)--- 自定义组件详解(properties,数据监听器,纯数据字段,插槽,父子间通信,behaviors)

    目录 一、创建组件 二、引用组件 1、局部引用 2、全局引用 三、组件和页面的区别 四、组件样式隔离 1、注意点 2、修改组件的样式隔离选项  五、数据、方法、属性 1、data数据 2、methods方法 3、properties属性  4、data和properties的区别  5、使用setData修改properties的值  六、数据

    2024年01月24日
    浏览(53)
  • 微信小程序的页面制作---常用组件及其属性2

    在全局配置文件app.json中添加taBar配置,可实现标签栏配置。标签栏最少2个,最多5个 (1)如何配置标签栏? 1》先建多个文件,(以我的index,list,myform文件夹为例) 2》在app.json这个全局配置文件里面配置taBar,(必填taBar配置项——color、selectedColor、backgroundColor、list) 3》

    2024年04月13日
    浏览(43)
  • 微信小程序 使用 echarts symbol属性不能使用自定义图标

      当我想去给 symbol  属性自定义图标时,控制台就报错 Image  is not defined !!! 原因是因为微信小程序不支持  new image() ; 下列就是echarts.js 源码,版本不同格式化后显示的 function 命名有所不同。但是全局就只有这么一个 new image ;全局搜一下就好 !!! 全局定义 canvas

    2024年02月13日
    浏览(66)
  • 【微信小程序】自定义组件(二)

    🎁 写在前面: 观众老爷们好呀,这里是前端小刘不怕牛牛频道,小程序系列文章又更新了呀。 上文我们讲解了微信小程序自定义组件的入门知识,那么今天牛牛就来讲讲自定义组件的进阶知识吧,赶紧拿起小本本做笔记呀! 自定义组件的数据和方法在使用上,和 Vue 的组件

    2024年02月02日
    浏览(146)
  • 微信小程序自定义组件标签

    目录 前言 1.创建一个components文件夹,用来放自定义组件标签

    2024年02月10日
    浏览(109)
  • 【微信小程序】自定义组件(三)

    插槽 1、什么是插槽 在自定义组件的wxml结构中,可以提供一个 solot 节点(插槽),用于承载组件使用者提供的wxml结构 2、单个插槽 在小程序中,默认每个自定义组件中只允许使用一个 slot 进行占位,这种个数上的限制叫做单个插槽。 3、定义多个插槽 父子组件之间的通信

    2024年02月04日
    浏览(60)
  • 【微信小程序】自定义组件(一)

    🎁 写在前面: 观众老爷们好呀,这里是前端小刘不怕牛牛频道,小程序系列文章又更新了呀。 今天牛牛带来的是微信小程序的自定义组件入门知识,赶紧拿起小本本做笔记呀! 1.1 介绍 自定义组件,就是开发者将页面的某个功能模块抽象化并提取出来的代码块,支持复用,

    2023年04月08日
    浏览(72)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包