VPS参考测评推荐
专注分享VPS主机优惠信息
衡天云优惠活动
华纳云最新优惠促销活动
jtti最新优惠促销活动

如何使用小程序中的组件组件?实用指南分享(小程序组件传值)

locvps
主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情!
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作

如何使用小程序中的组件组件?下面这篇文章就和大家分享一下小程序自定义组件component的超全实用指南,希望能帮到你!

如何使用小程序中的组件组件?实用指南分享(小程序组件传值)

在一个小程序中,如果我们想把一个页面中的功能模块抽象出来,在不同的页面中重用,可以使用它的自定义组件,它可以把一个复杂的页面拆分成几个低耦合的模块,不仅使用方便,而且有助于我们的代码维护。【相关学习推荐:小程序开发教程】

前言你将从这篇文章中获益。

小程序如何使用自定义组件

自定义组件之间传递的各种值。

自定义组件中插槽的使用。

扫雷,本文中的小程序指的是微信小程序(不过其他小程序的思路应该也差不多)。

扫雷,本文主要内容是自定义组件的用法,不是教你如何封装组件!

基础准备(可以忽略)添加文件夹首先在根目录下创建一个文件夹放自定义组件(文件夹名称任意,位置任意)。

1.png

创建一个新的组件文件,然后在applet编辑器中,右键单击并创建一个新组件。

2.png

为什么专门说这一步?

不知道有没有朋友和我一样,只使用过小程序开发工具作为预览工具,然后和其他编辑一起开发。

3.png

后来我发现在小程序中直接创建一个组件或者一个页面,会一口气把四个文件都建好,内容模板也填好了,所以现在开发者工具不仅仅是预览,还会用它来创建新文件。

4.png

示例背景描述我们将编写一个简单的组件示例(只是一个盲例),其模块划分标题类似于下图中的示例。

5.png

如何引入自定义组件?没有太多需要创建的,比如上面的【新建组件文件】。如果手动创建,不要忘记在json文件中声明它(小程序开发工具默认提供)。

{ & quot组件& quot:true}引入组件方法

6.png

在页面的json文件中进行引用声明。

& lt!引用组件-->的-- json文件;{ & quot使用组件& quot:{ & quotx-title & quot;:& quot/components/title/title & quot;}}像基本组件一样在页面的wxml中使用自定义组件(名称和声明一致)。

& lt!引用组件-->的-- wxml文件;& ltx-title & gt;& lt/x-title & gt;怎么传值?当父组件把值传递给子组件的时候,我们可以看到上面已经把标题内容写死了,但是实际操作中,我们肯定需要根据不同的模块传入不同的标题内容,所以需要使用父子之间传递的值。

父母把价值观传递给孩子。

& lt!--parent wxml -->;& ltx-title title text = & quot;所有订单" >& lt/x-title & gt;& lt!--如果父代的值是变量,-->;& ltx-title title text = & quot;{ { currentTitle } } & quot& gt& lt/x-title & gt;子节点接收父节点传递的值。

& lt!--子JS-->;属性:{ titleText:{ type:String,value:& amp;#39;其他& amp # 39} },7.png

子组件将值传递给父组件以稍微修改组件,并添加了细节操作按钮。目前已经通过循环获得了多个模块。现在,当点击细节时,子模块将把当前模块的id传递给父模块。

8.png

子组件将参数传递给父组件。

& lt!--子wxml -->;& ltview class = & quottitle -操作& quotbindtap = & quotgotoDetail & quot& gt细节;goto detail(){ this . triggerevent(& amp;#39;gotoDetail & amp#39;,this.data.titleId) }9.png

父组件接收子组件的参数。

& lt!--parent wxml -->;& ltx-title title text = & quot;{ { item.title } } & quottitleId = & quot{ { item.id } } & quotbind:goto detail = & quot;gotoDetail & quot& gt& lt/x-title & gt;& lt!--父JS-->;//获取参数goto e . detail(e){ const id = e . detail console . log(&;#39;从子组件&收到的id;#39;,id) }10.png

父调用子组件的方法子组件定义了一个方法。

& lt!--子JS-->;child method(){ console . log(& amp;#39;子组件的方法。#39;)},父组件先给子组件一个id。

& lt!--parent wxml -->;& ltx-title id = & quot;titleCom & quot& gt& lt/x-title & gt;& ltvan-按钮类型= & quot主要& quotbindtap = & quottriggerChildMethod & quot& gt调用子组件方法

& lt!--父JS-->;on ready(){ this . title com = this . select component(& quot;# titleCom & quot);},trigger child method(){ this . title com . child method();}11.png

在自定义组件中使用slot我们在上面的自定义组件中添加了查看细节的操作按钮,但是有些地方可能不想用文字,而是想改成图标或者按钮。当放置在某处的节点的内容不确定时,我们可以使用插槽来处理。

12.png

单槽13.png

将插槽添加到子部件

& lt!--子wxml -->;& ltslot & gt& lt/slot & gt;父级可以随意填充组件,比如插入图标(如果子级不添加slot,及时填充html就不会渲染)。

& lt!--parent wxml -->;& ltx-title & gt;& ltview class = & quot操作-换行& quot& gt& ltvan-icon name = & quot;箭头& quot/& gt;& lt/view & gt;& lt/x-title & gt;14.png

多插槽15.png

首先,在子部件的js中打开多插槽支持。

& lt!--子JS-->;选项:{multipleSlots: true //定义组件时在选项中启用多插槽支持},向子组件添加插槽需要向插槽添加名称。

& lt!--子wxml -->;& lt插槽名称= & quot图标& quot& gt& lt/slot & gt;& lt插槽名称= & quotoper & quot& gt& lt/slot & gt;在父级使用

& lt!--parent wxml -->;& ltview class = & quoticon-wrap&quotslot = & quot图标& quot& gt& ltvan-icon name = & quot;订单-o & quot;size = & quot24 & quot/& gt;& lt/view & gt;& ltview class = & quot操作-换行& quotslot = & quotoper & quot& gt& ltvan-按钮类型= & quot主要& quotcustom -style = & quot;{ { customStyle } } & quot& gt更大的

注:为什么我加了槽,却没有反应?

17.png

虽然我只在[子组件]里加了一个槽,但是因为加了名字,我还需要在[子组件]的js里开多个槽。

选项:{multipleSlots: true //定义组件时在选项中启用多槽支持}、组件的生命周期组件({ lifetimes:{ attached:function(){//组件实例进入页面节点树时执行}、Detached: function() {//组件实例从页面节点树中移除时执行}、}、//组件所在页面的生命周期页面生命周期:{ show:function(){//页面显示}、Hide: function() {//页面隐藏}, resize: function(size) {//页面大小变化} }/以下为老式定义,可保留<兼容2.2.3版本基础库附:function() {//组件实例进入页面节点树时执行}、detached: function() {//组件实例从页面节点树中移除时执行}、// ...})更多编程相关知识请访问:编程视频!!

这几篇文章你可能也喜欢:

本文由主机参考刊发,转载请注明:如何使用小程序中的组件组件?实用指南分享(小程序组件传值) https://zhujicankao.com/111800.html

【腾讯云】领8888元采购礼包,抢爆款云服务器 每月 9元起,个人开发者加享折上折!
打赏
转载请注明原文链接:主机参考 » 如何使用小程序中的组件组件?实用指南分享(小程序组件传值)
主机参考仅做资料收集,不对商家任何信息及交易做信用担保,购买前请注意风险,有交易纠纷请自行解决!请查阅:特别声明

评论 抢沙发

评论前必须登录!