微信小程序父页面向子组件传值

article/2025/10/6 14:40:34

微信小程序父页面传值

要实现效果:
首页点击立即团购跳转到详情页面传值商品id,详情页在选择商品规格,选择规格为组件需要将商品id同步到组件页面然后进行交互获取规格信息,但是因为setData为异步,所以会导致组件实例未获取到商品id,不能直接在组件中引用shopId=“{{shopId}}”,所以在点击选择按钮时再进行传值
在这里插入图片描述

在这里插入图片描述

下面展示一些 内联代码片

//首页
<button class="next" data-id="{{item.id}}" bindtap="next">立即团购</button>
//首页
next: function(e){const shopId = e.currentTarget.dataset.id;console.log("点击团购",e.currentTarget.dataset.id)wx.navigateTo({url: '/pages/view/shopDetails/shopDetails?shopId='+ shopId})
}
//商品
<view class="guige" bindtap="guigeClick"><view><text class="color">选择规格</text><text>{{guige}}</text></view><image src="/static/arrow.png" mode="heightFix" style="height:24rpx;"></image>
</view><!-- <choiceGuige id='choiceGuige' shopid=“{{shopId}}” title='选择规格' confirmText='确定' bind:confirmEvent='confirmEvent'></choiceGuige>  --><choiceGuige id='choiceGuige' title='选择规格' confirmText='确定' bind:confirmEvent='confirmEvent'></choiceGuige>
//商品
guigeClick:function(){let that = this;that.choiceGuige = that.selectComponent("#choiceGuige");//组件id挂载that.choiceGuige.guige(that.data.shopId); //此处传值,guige为自定义方法,在组件中通过该方法获取shopIdthat.choiceGuige.showDialog();//组件显示
},
confirmEvent: function (e) {let shopdata = this.data.shopdata;shopdata.list = e.detail.list;this.setData({shopdata:shopdata})this.choiceGuige.hideDialog();
},

//选择规格组件

<button class='dialog-btn' catchtap='confirmEvent'><text>{{confirmText}}</text></button>
//选择规格组件
//接收父页面传过来的值然后进行处理
guige:function(obj){console.log("父页面传过来的值",obj)this.setData({shopId: obj})
},
/**
* triggerEvent 组件之间通信子传父
*/
confirmEvent() {let guigeVal = new Array(this.data.list.color[this.data.list.cindex],this.data.list.zhongliang[this.data.list.zindex], this.data.list.size[this.data.list.sindex]);let guige = {guigeVal: guigeVal}this.triggerEvent("confirmEvent",guige);
},

利用监听器(observers)实现通讯

data里面参数取值不要与properties中定义的,无需再赋予额外的点击传值

properties:{shopId:{type: Number,value: '',observer(newVal){newVal && (this.value = newVal)this.setData({shoppingId: newVal})console.log(this.data.shoppingId)}}
}
//或者
//进入组件执行方法,数据监听器
observers:{'shopId.**':function(shopId){// shopId && (this.value = shopId)console.log(shopId)let list = {color:['白色','黑色'],zhongliang:['8kg','10kg'],	size:['S','M'],cindex:0,zindex:1,sindex:0}this.setData({list : list,shoppingId: shopId})}
},

http://chatgpt.dhexx.cn/article/ShpnsMOH.shtml

相关文章

微信小程序路由跳转,API调用,页面传值

路由跳转 wx.switchTab 跳转到 tabBar 页面&#xff0c;并关闭其他所有非 tabBar 页面。 wx.switchTab({url: /pages/tarbar/index })wx.reLaunch 关闭所有页面&#xff0c;打开到应用内的某个页面。 wx.reLaunch({url: /pages/index/index })wx.redirectTo 关闭当前页面…

微信小程序组件的封装与传值

1、新建component文件夹存放我们的组件&#xff0c;里边存放的就是我们所用的组件&#xff0c;我们今天要做的事弹出框&#xff0c;新建文件夹popup存放我们的组件模板&#xff0c;点击右键选择新建component&#xff0c;就会自动生成组件的模板wxss、wxml、json、js&#xff0…

小程序之父子组件传值详解

小程序之父子组件传值详解 父传子&#xff1a; 1.在pages的同级新建components文件夹&#xff0c;并在components文件夹下新建自定义组件名 2.在父组件的"组件名.json"中引入子组件组件&#xff08;图如下&#xff09; {"usingComponents": {"tab…

小程序页面传值、页面与组件通信方式总结

在小程序开发中&#xff0c;页面传值经常会用到&#xff0c;如果有调用组件和插件的话还会涉及到页面与组件的通信传值等&#xff0c;今天我是想来总结下微信小程序页面和组件传值。 一.页面与页面的传值 1.跳转的url带参传值 微信小程序页面直接传值我们经常用到的是页面UR…

使用搜狗接口对微信公众号爬虫

搜狗搜索因为有微信公众号搜索的接口&#xff0c;所以通过这个接口就可以实现公众号的爬虫 需要安装几个python的库&#xff1a;selenium,pyquery 还使用到phantomjs.exe,这个需要我们自己去下载&#xff0c;然后放在自己的python工程下即可 在输入框输入想要爬取的公众号…

爬取微信公众号文章

新增了GUI界面&#xff0c;效果如图 ************************************************************************************************试了多种方法&#xff0c;发现还是使用自己创建一个公众号再搜索的方式最有用。有三种方法&#xff0c;第一种&#xff1a;用搜狗微信公…

[python]微信公众号文章爬取

[python]微信公众号文章爬取 需求 爬取一些微信公众号的文章 数据来源 1.搜狗微信搜索&#xff0c;可以搜索微信公众号文章&#xff0c;但只能显示该公众号最近十篇的文章 2.通过个人微信公众号中的素材管理&#xff0c;查看其他微信公众号文章 步骤 1.手动从网站上获取co…

Python2.7爬虫——爬取微信公众号文章

今天跟着这篇博客抓取微信公众号文章练习了一下爬虫&#xff0c;运行成功。想和大家分享一下过程中出现的问题和解决方法。 运行环境 windows 7 Pycharm2018 Python 2.7 目录 目录 1.安装必要的Python包 1.1 关于下载selenium包1.2关于下载json包 2.运行之前的准备 代码中需…

基于搜狗搜索的微信公众号爬虫实现(C#版本)

为什么80%的码农都做不了架构师&#xff1f;>>> Author: Hoyho Luo Email: luohaihaogmail.com Source Url:http://here2say.me/11/ 转载请保留此出处 本文介绍基于搜狗的微信公众号定向爬虫&#xff0c;使用C#实现&#xff0c;故取名WeGouSharp。本文中的项目托管…

fiddle python抓取微信公众号文章

分析 1&#xff0c;先进行准备工作&#xff1a;使用fiddle抓包&#xff08;大家可以自行百度怎么使用哦&#xff09; 2&#xff0c;打开电脑端微信&#xff0c;找到需要爬取的公众号 点击进入公众号&#xff0c;再打开fiddle&#xff0c;微信停留在这一步 打开fiddle后再点击…

Java Selenium 爬取微信公众号文章图片.md

项目地址结尾 一、前期准备 1. 下载selenium的驱动 Chrome http://chromedriver.storage.googleapis.com/index.html Firefox https://github.com/mozilla/geckodriver/releases/ IE http://selenium-release.storage.googleapis.com/index.html 下载好驱动然后放到、对…

python爬虫(17)爬出新高度_抓取微信公众号文章(selenium+phantomjs)

个人博客请访问 http://www.x0100.top 一.思路分析 目前所知晓的能够抓取的方法有&#xff1a; 1、微信APP中微信公众号文章链接的直接抓取&#xff08;http://mp.weixin.qq.com/s?__bizMjM5MzU4ODk2MA&mid2735446906&idx1&snece37deaba0c8ebb9badf07e5a5a3bd…

获取微信公众号文章内视频真实地址

PHP获取微信公众号文章内视频与音频真实地址 微信公众号的文章的爬取可以看到这个项目&#xff1a;github 基于QueryList的微信公众号文章获取工具 有任何问题可以留言。 返回数据&#xff1a; 包含音频和视频包含多个视频 原有找到的文章 如何抓取微信公众号文章里面的视频…

Python爬取微信公众号文章、点赞数

代码还是热乎的&#xff0c;只要你细心一步步的慢慢调试&#xff0c;绝壁没问题 前期准备 订阅号&#xff1b;Python&#xff1b;Fiddler&#xff1b;微信账号&#xff1b; 流程 使用用微信公众号生成cookie使用Fiddler抓取微信公众号数据&#xff0c; 获取阅读数通过cooki…

如何爬取微信公众号文章(二)

在如何爬取微信公众号&#xff08;一&#xff09;中完成了将爬取公众号文章的元数据存入数据库&#xff0c;其中包括文章的连接、标题、发布时间、摘要和封面图片等信息。下面介绍如何根据文章链接来爬取文章内容。 开发环境 windows 7 x64python3.7 (Anaconda)vscode 编辑器…

如何爬取微信公众号文章(一)

微信公众号是目前最为流行的自媒体之一&#xff0c;上面有大量的内容&#xff0c;如何将自己感兴趣的公众号内容爬取下来&#xff0c;离线浏览&#xff0c;或者作进一步的分析呢&#xff1f; 下面我们讨论一下微信公众号文章的爬取。 环境搭建 windows 7 x64python3.7 (Anac…

Python 爬虫之微信公众号

Python 爬虫之微信公众号 源代码放在文末。 本次爬虫需要的工具如下: selenium 驱动器对应浏览器的 webdriver一个微信订阅号在 2017 年 6 月左右,微信官方发布一篇文章 https://mp.weixin.qq.com/s/67sk-uKz9Ct4niT-f4u1KA,大致意思就是以后发布文章的时候可以插入其他公…

公网访问局域网家用nas

提到外网访问不得不说说家里局域网的搭建结构了&#xff0c;就拿大众最常用的方式举例&#xff0c;网络运营商的光纤入户&#xff0c;通过运营商提供的光猫直接pppoe进行拨号&#xff0c;再连接自己的路由器&#xff0c;分配至各网口。 自从上次充当灵魂画手被嘲笑了以后就改用…

外网访问群晖NAS VMM搭建Openwrt的admin界面

偶然在网上看到很多的帖子使用群晖搭建openwrt搭建旁路由,心血来潮体验了一把,记录一下自己的搭建的整个过程,并最终实现外网访问Openwrt的admin界面。 本人使用的群晖nas DS220+,其他品牌未尝试。 一、前期配置 1、先在套件中心下载VMM(Virtaul Machine Manager) 2、下…

2022年10月 cpolar软件实现内网穿透连接群晖NAS

前言 1.cpolar简介 cpolar是一款拥有远程控制和内网穿透功能的软件。而且还可以监控端口的HTTP请求&#xff0c;利用实时的cpolar Web UI开发者工具&#xff0c;让您调试代码更容易。您可以监听所有隧道上的HTTP消息包&#xff0c;分析消息包的结构内容&#xff0c;找出问题点…