微信小程序---函数传参与子组件传递数据并影响父组件函数调用

微信小程序传参的五种方式 大家好,今天和大家分享一下微信小程序页面之间传参的五种方式,这个的话也是有人问了我一嘴,然后现在我和大家分享一下。URL参数传递:可以将参数直接拼接在页面的URL中,在打开目标页面时,通过获取URL的query参数来获取传递的数值。Storage本地存储:可以使用小程序提供的Storage API,将参数存储在本地缓存中,然后在目标页面读取并使用。全局变量:可以在小程序的App全局对象中定义一个全局变量,在页面间进行传递和访问。在源页面设置变量值,在目标页面获取变量值。 阅读详情

函数传参

微信小程序无法通过JS函数常见方式在括号内传参:

<view bindtap='courseChosen("参数")'></view>

会报错:没有此函数

 在小程序中可以通过data-num="{{index}}"自定义参数名称传递参数:

<view bindtap='courseChosen("参数")' data-num="参数"></view>

在对应的JS文件中写courseChosen函数输出e:

 我们可以看到此时e中出来了自定义的参数num,它的value是输入参数

因此我们可以实现在微信小程序中传递参数,例如:

<view 
wx:for='{{$state.courseHave}}'
wx:for-index="index"
wx:for-item="item"
wx:for-key="index"
class="aCourse"
>
    <view bindtap='courseChosen' data-num="{{index}}" data-item="{{item}}">
    {{$state.courseHave[index]}}
    </view>
</view>

输出如下:

 子组件传递数据并影响父组件函数调用 

        

1. 在page中调用组件:

//page的json文件中 
"usingComponents": {
    "try_comp":"../../components/try_comp/try_comp"
  }
//page的wxml中
<try_comp class=""
  style='color:blue;with:200rpx;line-height:200rpx;text-align:center;font-size:25px'
  bind:xxx="getChildrenChange">
    {{fatherMessage}}
  </try_comp>
//page的js文件中
data: {
    fatherMessage:'我是页面'
  },
getChildrenChange:function(e){
    this.setData({
      fatherMessage:'检测到子组件发生变化并传递数据:'
    })
    console.log(e);
  },

我们在页面中使用bind:xxx="getChildrenChange"绑定了事件xxx,当事件xxx被触发时,调用函数getChildrenChange,更改fatherMessage的内容并输出传入的e

2. 在组件中

//js文件
data: {
    messageToFather:'子组件传递给父级的数据'
  },
  methods: {
    changeFather:function(){
      let {messageToFather}=this.data;
      this.triggerEvent("xxx", {
        value: messageToFather
      })
    },
//wxml文件
<slot></slot>
<view bindtap='changeFather'>
  子组件view
</view>

我们在组件中绑定点击事件,当我们点击《子组件view》时,调用函数changeFather,此时

在组件的js文件中的changeFather函数中使用

this.triggerEvent('myevent', myEventDetail, myEventOption)

this.triggerEvent( 'xxx', { value:messageToFather} ),指定事件名(在page页面中bind:xxx中的xxx,xxx为自定义事件名)、detail对象和事件选项

以此来触发page页面在调用组件时绑定的函数'xxx',并传递参数

事件选项包括:

选项名类型是否必填默认值描述
bubblesBoolean否false事件是否冒泡
composedBoolean否false事件是否可以穿越组件边界,为false时,事件将只能在引用组件的节点树上触发,不进入其他任何组件内部
capturePhaseBoolean否false事件是否拥有捕获阶段

代码效果

点击’子组件view‘之前

点击之后:

 

 接收到的e:

 

微信小程序之间的参数传递、获取 阅读详情

相关推荐

微信小程序自定义组件学习笔记

微信小程序自定义组件学习笔记

m0_64642443的博客 2253

微信小程序——函数传参方式

前言:

朕的博客 1万+

小程序事件函数传参

微信小程序传参

m0_69876298的博客 638

微信小程序:事件传参

在微信小程序日常开发中,特定场景下我们需要事件携带参数到要执行的函数中,但是又因为小程序的事件传参方式有所不同,并不能在绑定事件后,在事件名称后面加括号携带参数。页面是简单的数据渲染加一个点击按钮,实现通过点击按钮触发事件并携带参数,操作参数来修改数据,从而达到图片上的效果。小程序绑定事件,默认双引号内的都是事件名称,所以这是我们要想在微信小程序实现事件传参的话,可以使用。可以看到,通过打印整个事件可以看到通过自定义属性。可以看到,代码中定义了点击事件。那么,如何获取事件携带的参数呢?.........

KazariFox的博客 1万+

YOLO11实战 第001期-基于yolo11的CrowdHuman密集行人目标检测实战文档(yolo格式数据免费获取)

1.数据阶段在拥挤/遮挡场景下,使用crowdhuman数据集重训练后的yolo11,效果表现较好。crowdhuman数据集标签如下,有Head BBox、Visible BBox、Full BBox。如下图显示:数据集介绍CrowdHuman数据集是旷世发布的用于行人检测的数据集,图片数据大多来自于google搜索。CrowdHuman数据集数据量比较大,15000张,5000张,验证集4370张。训练集和验证集中共有470K个实例,约每张图片包含23个人,同时存在各种各样的遮挡。

深度学习算法工程师,专注于前沿算法研究与实战应用。在这里,我将分享深度学习领域的实战经验、优质数据集资源以及最新论文解读与精度分析,旨在与广大技术爱好者共同探索人工智能的奥秘,助力技术成长与创新。 2168

银河麒麟V10+QT6.0中文输入法环境搭建全攻略(附镜像加速技巧)

本文提供了在银河麒麟V10操作系统上为QT6.0搭建中文输入法环境的完整实战指南。文章详细介绍了从系统准备、镜像源优化、QT6安装器获取与加速安装,到编译Fcitx5输入法插件依赖库、深度配置环境变量与项目的全流程。重点分享了使用国内镜像源加速安装的技巧,解决了国产化开发中QT应用无法输入中文的常见难题,旨在帮助开发者快速构建稳定高效的开发环境。

weixin_29204749的博客 394

微信小程序 父子组件通讯/传值

3种方式: 属性绑定:父组件 向 ——> 子组件的指定属性设置数据。仅能设置json兼容的数据,如:基本数据类型、object等 (不能传递复杂属性的数据,如:方法等)。 事件绑定:子组件 向 ——> 父组件传递数据。(调用triggerEvent方法) 可传递任意数据 获取组件实例:通过 方法,获取子组件实例对象,这样就可以直接访问子组件的任意数据和方法。【在父组件中,为子组件添加类名--id / class名,通过selectComponent('子组件id/class名')获取子..

Shimeng_1989的博客 4185

BQ27220燃料计量芯片与Arduino库kode_bq27220实战指南

燃料计量(Fuel Gauge)是嵌入式电池管理系统的核心技术,通过电压、电流、温度多维建模实现荷电状态(SOC)与健康状态(SOH)的动态估算。其原理基于电化学阻抗补偿算法(如CEDV),区别于简单电压查表法,具备自学习与老化适应能力。该技术显著提升便携设备续航预测精度与低功耗可靠性,广泛应用于TWS耳机、可穿戴设备及医疗电子等场景。本文围绕TI BQ27220高精度燃料计量IC及其配套Arduino库kode_bq27220展开,覆盖硬件连接规范、I²C初始化要点、SOC/SOH实时读取、EDV阈值配置

weixin_35671843的博客 331

微信小程序学习第六天(使用组件,组件内外样式,父传子,父传子,插槽,component组件)

一、创建了组件,然后使用组件 再home里使用,那么就要在home.json里面的useingcomponent里面 参数说明 第一个是使用这个组件时的标签名 第二个是组件的路径,比如下面这个再component目录下有my-cpn目录里面的my-cpn 使用的时候直接用标签名 <my-cpn></my-cpn> 四、组件内外样式会不会被影响 如果想要别影响呢 再...

qq_39773416的博客 430

Blazor Session设置

微软官方封装了一些浏览器的操作,其中就有Session的操作的封装ProtectedSessionStorage 微软文档因为我们知道,依赖注入的生命周期是Singleton程序Scoped网页:刷新,url直接跳转都会重置。Transient路由C# Blazor 学习笔记(10):依赖注入但是没有一个和浏览器绑定的生命周期。即浏览器关闭才会退出。这个是后端无法获取的,因为后端根本不知道浏览器何时关闭。这个只能用浏览器自带的缓存。

qq_44695769的博客 1788

笔试题-2023-紫光展锐-数字芯片设计【纯净题目版】

笔试题-2023-紫光展锐-数字芯片设计【纯净题目版】

w0shishabi的博客 2923

小程序 组件通信

小程序 组件通信: 自定义组件有自已的作用域,可以使用组件通信完成 父子组件之间的数据传递。父传子1.父组件通过属性赋值为子组件传递数组2.子组件通过properties节点接收父组件数据注意:子组件可以直接修改父组件传递的数据,不会影响修改到父组件,没有单向数据流限制3.查看或调试传入组件的数据与页面数据的查看方式不同,具体查看如下图所示:说明:选中要查看的组件,通过右侧面板查看。

m0_73461567的博客 445

[系统安全] 一.什么是逆向分析、逆向分析基础及经典扫雷游戏逆向

娜璋AI安全之家于2020年8月18日开通,将专注于Python和安全技术,主要分享Web渗透、系统安全、CVE复现、威胁情报分析、人工智能、大数据分析、恶意代码检测等文章。真心想把自己近十年的所学所做所感分享出来,与大家一起进步。 系统安全系列作者将深入研究恶意样本分析、逆向分析、攻防实战等,通过在线笔记和实践操作的形式分享与博友们学习,希望能与您一起进步。第一篇文章先带领大家学习什么是逆向分析,然后详细讲解逆向分析的典型应用,接着通过OllyDbg工具逆向分析经典的游戏扫雷,再通过Cheat Engin

杨秀璋的专栏 2万+

【微信小程序】基础篇 -- 自定义组件总结 (四十)

大家好,又见面了,我是夜阑的狗🐶,本文是专栏【微信小程序开发教程】专栏的第40篇文章;今天开始学习微信小程序的第22天💖💖💖,开启新的征程,记录最美好的时刻🎉,每天进步一点点。【微信小程序开发教程】, 此专栏是我是夜阑的狗微信小程序开发过程的总结,希望能够加深自己的印象,以及帮助到其他的小伙伴😉😉。如果文章有什么需要改进的地方还请大佬不吝赐教👏👏。🌹 🌹 🌹也欢迎你,关注我。👍 👍 👍!!💕 💕 💕 最后,本文仍有许多不足之处,欢迎各位认真读完文章的小伙伴们随时私信交流、批评指正!下期再见。

JMFive的博客 688

Qwen-Image(阿里通义千问)技术浅析(一)

Qwen-Image(阿里通义千问多模态模型)是阿里巴巴推出的视觉-语言多模态大模型,能够理解图像内容并完成复杂的跨模态任务。

m0_75253143的博客 679

修改yolov8使支持单通道图像输入

默认支持BGR三通道图像输入,但是在很多工业场景下,存在很多灰度图像的场景,因此对yolov8代码做一些修改以支持单通道图像输入,满足项目实际需求。训练时,只需要在 data 的 yaml 文件中,添加 ch=1 即可。

mingo_敏 5779

前端项目中数据传递的几种“姿势”

数据传递在项目中是个很重要的话题,因为它牵扯到了一个APP,或者web-app的最重要一步:功能联动。 丝毫不隐瞒的说,笔者曾经迫切的想要学node.js的动力之一就在于它可以作为后端去进行数据的处理和传递使用。这在之前是不可能单单通过前端实现的。

flying meng的菜鸟居 3519

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

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

配置项注册的组件,所有页面都可使用,使用方便,会占用一定性能。配置项中注册的组件能提供给单个页面使用,按需注册,性能好。PS:小程序页支持多个具名插槽。

分享个人经验和技术 732

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

微信小程序 组件和slot_微信小程序——模板,组件与自定义组件

模板可以在模板中定义代码片段,然后在不同的地方调用。通过name指定模板名字,然后通过is调用模板,通过data传入模板所需值模板拥有自己的作用域,只能使用 data 传入的数据以及模版定义文件中定义的 模块。Page({data: {temData: {index: 0,msg: 'this is a template',time: '2016-09-15'}}}) odd even 引用模...

weixin_29496207的博客 509

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

微信小程序 Component构造器

微信小程序Component构造器详解:用于创建自定义组件的核心工具。支持定义属性(properties)、数据(data)、方法(methods)及生命周期函数(lifetimes)。提供组件通信机制(triggerEvent)、插槽功能(slot)和样式隔离选项(styleIsolation)。通过behaviors实现代码复用,典型应用如计数器组件。该构造器显著提升代码复用性和开发效率,是小程序模块化开发的关键。

2509_92759824的博客 405

微信小程序自定义组件开发指南

微信小程序自定义组件是开发中的重要功能,支持代码复用和模块化管理。文章介绍了组件创建流程(目录结构、声明注册)、使用方法(引入、事件处理)、通信机制(父子组件数据传递)、生命周期及插槽功能。同时讲解了样式隔离、外部样式类等特性,并提出了组件拆分、接口设计等最佳实践。最后提及纯数据字段和抽象节点等高级功能,强调组件化开发对提升小程序可维护性和开发效率的关键作用。

qq_37884031的博客 1001

【6 微信小程序学习 - 小程序的组件化开发,通信】

1 外部使用了标签选择器,会对组件内产生影响,所以建议不要使用标签选择器2 自定义组件之间样式默认是隔离的,要使父组件和子组件的样式互相影响(比如使用统一类名设置样式),要在父组件.js中使用styleIsolation属性,自定义事件->triggerEvent发出事件和数据组件的自定义事件在.js中定义,和页面不同的是,需要在methods:中定义1 组件发射事件,事件名是titleclick,数据是aaamethods: {//点击触发自定义事件。

qq_31421983的博客 1436

微信小程序(5)

创建:在项目的根目录中,鼠标右键,创建 components -> test 文件夹在新建的 components -> test 文件夹上,鼠标右键,点击“新建 Component” 键入组件的名称之后回车,会自动生成组件对应的 4 个文件,后缀名分别为 .js,.json, .wxml 和 .wxss使用:局部在需要使用组件的页面的.json文件中配置usingComponents,以键值对的方式配置组件全局和局部一样。

wry_yrw的博客 155

关于Vue,移动前端开发前景

)prop 还可以同时指定多个类型,通过数组方式保存即可props: {},})props 验证当 prop 需要设置多重规则时,可以将 prop 的值设置为选项对象之前的类型检测功能通过 type 选项设置props: {parNum: {},parData: {},})required 用于设置数据为必填项props: {parNum: {},})default 用于给可选项指定默认值,当父组件未传递数据时生效props: {parNum: {},})

weixin_57992300的博客 716

小程序小知识点总结及vant weapp UI组件库的使用

文章目录前言一、小程序是什么?二、点击方法三、传值四、自定义组件五、父子通信六、 尺寸单位 rpx七、 引入vant weapp UI组件库引入组件使用组件 前言 微信小程序,小程序的一种,英文名Wechat Mini Program,是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用。 微信小程序是一种不用下载就能使用的应用,也是一项创新,经过将近两年的发展,已经构造了新的微信小程序开发环境和开发者生态。微信小程序也是这么多年来中国IT行业里一个真正能够影响

官方小可爱√的博客 1175

2024/2/5总结

概念:纯数字字段指的是那些不用于界面渲染的 data 字段。好处:提升界面的更新的性能。自定义组件的行为依赖于页面状态的变化,此时就需要用到组件所在页面的生命周期在自定义组件中,组件所在页面的生命周期函数有如下 3 个。

lxh0113的博客 1568
上一篇: 修改input type=“checkBox“ 的原有样式
下一篇: 封装Ajax请求/xhr与promise
willwe
博客等级 码龄6年 161粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值