我的编程空间,编程开发者的网络收藏夹
学习永远不晚

【微信小程序】自定义组件(二)

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

【微信小程序】自定义组件(二)

🎁写在前面:

观众老爷们好呀,这里是前端小刘不怕牛牛频道,小程序系列文章又更新了呀。

上文我们讲解了微信小程序自定义组件的入门知识,那么今天牛牛就来讲讲自定义组件的进阶知识吧,赶紧拿起小本本做笔记呀!

文章目录

一,组件的数据和方法

自定义组件的数据和方法在使用上,和Vue的组件十分相似,不过也有一点区别,首先我们来了解一下组件私有数据的定义。

1.1 data数据

data中的数据就作为组件的私有数据使用,定义在对应自定义组件js文件下的component构造器中,语法如下:

Component({data : {a : 10,b : 20}})

这样我们就给组件定义了两个数据,在模板在我们可以直接{{a}}调用,而在component构造器中,我们也只需this.a便可获取到该数据。

1.2 methods方法

methods中方法的定义也是与Vue十分相似,位置与上述的data同级,语法如下:

Component({methods : {// 定义一个isShow函数isShow(){// do something}}})

不过,在开发中会将methods方法分为事件处理函数和自定义方法,事件处理函数是监听事件,当事件触发再调用。而自定义方法则是由我们自己调用。

在命名上,建议methods中的自定义方法以_开头,以便区分。

1.3 properties属性

properties可以称之为对外属性,用来接收外界传递给组件的数据。而这个外界就是父组件,也就是说在页面引用自定义组件的时候,可以同时传递数据进去,组件就会通过properties属性接收传进来的数据。

<son-view username='niuniu'>son-view>

学过Vue的小伙伴可能就说了,这不就是Vueprops属性吗。

对,但不完全对。在微信小程序中,properties属性里的数据也是可以修改的,这是需要注意的地方。

回归正题,如何在组件中接收这个数据呢?

  1. 如果你想给properties中 的数据定义默认值,若没有传值,则用默认值赋值,那么你需要用完整格式

    properties : {username : {type: String,value : xiaoliu}}
  2. 如果不需要赋默认值,就可以使用简化格式

    properties : {username : String}

如何修改:

我们还是可以直接调用this.setData方法进行修改。

this.setData({username : this.username.slice(0, -1)})

二,数据监听器

数据监听器其实类似于Vuewatch监听属性

我们可以选择对某个数据进行监听, 当发生变化时,调用对应的回调函数

Component({observers : {'username' : function(username){}}})

一个回调函数可以对应监听多个,只需要添加对应参数即可。

监听对象属性字段:

当我们想要监听对象里面的数据,只需要用obj.username代替上面的username即可。

需要注意的是,监听对象属性的触发情况,不仅有this.setData方法改变对象属性值触发,直接给对象赋值也会触发。

三,纯数据字段

简而言之,在data的数据,不用于界面的渲染,也不传递给其他组件,仅在组件内部使用,我们便可把他定义为纯数据字段,这样做的作用就是提升页面更新的性能

使用方法:

Component 构造器的 options 定义段中指定 pureDataPattern 为一个正则表达式,字段名符合这个正则表达式的字段将成为纯数据字段

比如我想要让开头是_的字段名作为纯数据字段,我可以这样做。

Component({options : {pureDataPattern : /^_/}})

四,组件的生命周期

前面我们提过小程序的生命周期、页面的生命周期,组件的生命周期的作用与前两者一样,帮助程序员在特定的时间点处理一些事情。

4.1 生命周期阐述

组件的生命周期按时间顺序有:

钩子说明
createdComponent实例创建时调用
attached实例进入页面节点树
ready在组件在视图层布局完成后执行
moved在组件实例被移动到节点树另一个位置时执行
detached在组件实例被从页面节点树移除时执行
error组件方法抛出错误时

对于组件来说,最重要的生命周期是 createdattacheddetached

  • created调用时,组件实例刚创建,不能用setData,通常只是给this添加一些自定义的属性字段
  • attached调用时,this.data初始化完毕,这时候我们可以做一些初始化工作,比如发送请求获取初始数据
  • 而当detached调用时,退出页面,此时可以做一些清理性质的工作

4.2 定义生命周期

定义生命周期的方法有新旧两种,旧的方法和Vue一样,直接在Component里面定义(第二级)。

而新的方法则是需要在Component中的lifetimes中定义,建议使用新的方法定义生命周期。

4.2 监听组件所在页面的生命周期

有时,组件的一些行为需要依赖所在页面生命周期调用的时机,如触发页面的show时,组件想要显示出欢迎回来的字样

这时候,我们可以在组件中监听页面的生命周期,只需要在ComponentpageLifetimes中定义即可。

pageLifetimes : {show : function(){//触发时调用}}

注意:

组件只可访问showhideresize三个页面生命周期


今天的小程序文章到这里就结束啦,如果觉得对您有帮助的话,可以关注牛牛接下来的文章

感谢您的支持,您的支持是我们创作的最大动力!!!

债见~~

来源地址:https://blog.csdn.net/weixin_62542181/article/details/126805379

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

【微信小程序】自定义组件(二)

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

微信小程序怎么自定义组件

这篇文章主要讲解了“微信小程序怎么自定义组件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“微信小程序怎么自定义组件”吧!组件模版和样式类似于页面,自定义组件拥有自己的 wxml 模版和 wx
2023-06-26

微信小程序如何自定义tabbar组件

这篇文章主要讲解了“微信小程序如何自定义tabbar组件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“微信小程序如何自定义tabbar组件”吧!由于项目需求,必须自己写组件:第一步:在App
2023-06-14

微信小程序中如何自定义组件

这篇文章将为大家详细讲解有关微信小程序中如何自定义组件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在微信小程序开发过程中,对于一些可能在多个页面都使用的页面模块,可以把它封装成一个组件,以提高开发效率。
2023-06-29

微信小程序怎么自定义地址组件

本文小编为大家详细介绍“微信小程序怎么自定义地址组件”,内容详细,步骤清晰,细节处理妥当,希望这篇“微信小程序怎么自定义地址组件”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。项目需求需要调用后台传过来的地址,存储
2023-07-02

微信小程序button组件如何自定义样式

本篇内容主要讲解“微信小程序button组件如何自定义样式”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“微信小程序button组件如何自定义样式”吧!背景颜色wxml代码
2023-06-26

微信小程序怎么自定义组件Component使用

本篇内容介绍了“微信小程序怎么自定义组件Component使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1- 前言在本文中你将收获小程序
2023-07-05

微信小程序自定义组件Component的代码详解

这篇文章主要给大家介绍了关于微信小程序自定义组件Component的相关资料,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
2023-03-02

微信小程序如何实现自定义弹窗组件

本篇内容主要讲解“微信小程序如何实现自定义弹窗组件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“微信小程序如何实现自定义弹窗组件”吧!首先,放一下,最终的效果图:这是我们最后要实现的效果那么,首
2023-07-02

编程热搜

  • Android:VolumeShaper
    VolumeShaper(支持版本改一下,minsdkversion:26,android8.0(api26)进一步学习对声音的编辑,可以让音频的声音有变化的播放 VolumeShaper.Configuration的三个参数 durati
    Android:VolumeShaper
  • Android崩溃异常捕获方法
    开发中最让人头疼的是应用突然爆炸,然后跳回到桌面。而且我们常常不知道这种状况会何时出现,在应用调试阶段还好,还可以通过调试工具的日志查看错误出现在哪里。但平时使用的时候给你闹崩溃,那你就欲哭无泪了。 那么今天主要讲一下如何去捕捉系统出现的U
    Android崩溃异常捕获方法
  • android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
    系统的设置–>电池–>使用情况中,统计的能耗的使用情况也是以power_profile.xml的value作为基础参数的1、我的手机中power_profile.xml的内容: HTC t328w代码如下:
    android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
  • Android SQLite数据库基本操作方法
    程序的最主要的功能在于对数据进行操作,通过对数据进行操作来实现某个功能。而数据库就是很重要的一个方面的,Android中内置了小巧轻便,功能却很强的一个数据库–SQLite数据库。那么就来看一下在Android程序中怎么去操作SQLite数
    Android SQLite数据库基本操作方法
  • ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
    工作的时候为了方便直接打开编辑文件,一些常用的软件或者文件我们会放在桌面,但是在ubuntu20.04下直接直接拖拽文件到桌面根本没有效果,在进入桌面后发现软件列表中的软件只能收藏到面板,无法复制到桌面使用,不知道为什么会这样,似乎并不是很
    ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
  • android获取当前手机号示例程序
    代码如下: public String getLocalNumber() { TelephonyManager tManager =
    android获取当前手机号示例程序
  • Android音视频开发(三)TextureView
    简介 TextureView与SurfaceView类似,可用于显示视频或OpenGL场景。 与SurfaceView的区别 SurfaceView不能使用变换和缩放等操作,不能叠加(Overlay)两个SurfaceView。 Textu
    Android音视频开发(三)TextureView
  • android获取屏幕高度和宽度的实现方法
    本文实例讲述了android获取屏幕高度和宽度的实现方法。分享给大家供大家参考。具体分析如下: 我们需要获取Android手机或Pad的屏幕的物理尺寸,以便于界面的设计或是其他功能的实现。下面就介绍讲一讲如何获取屏幕的物理尺寸 下面的代码即
    android获取屏幕高度和宽度的实现方法
  • Android自定义popupwindow实例代码
    先来看看效果图:一、布局
  • Android第一次实验
    一、实验原理 1.1实验目标 编程实现用户名与密码的存储与调用。 1.2实验要求 设计用户登录界面、登录成功界面、用户注册界面,用户注册时,将其用户名、密码保存到SharedPreference中,登录时输入用户名、密码,读取SharedP
    Android第一次实验

目录