广告
返回顶部
首页 > 资讯 > 精选 >微信小程序如何实现页面间传值
  • 918
分享到

微信小程序如何实现页面间传值

2023-06-14 10:06:37 918人浏览 薄情痞子
摘要

这篇文章主要介绍“微信小程序如何实现页面间传值”,在日常操作中,相信很多人在微信小程序如何实现页面间传值问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”微信小程序如何实现页面间传值”的疑惑有所帮助!接下来,请跟

这篇文章主要介绍“微信小程序如何实现页面间传值”,在日常操作中,相信很多人在微信小程序如何实现页面间传值问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”微信小程序如何实现页面间传值”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

小程序页面间传值

大家晚上好,说晚上好是因为是在晚上写的,说这句话是因为这句话开篇不那么突然。那么小程序的页面间传值,在我使用这段时间里,我就非常的主观的把它们分为wx.navigateTo和非wx.navigateTo的,因为wx.navigateTo有一个事件参数event,我从当前页跳转到下一页,如果需要能返回,我都用的wx.navigateTo,那这个event作用嘛就是可以接收,下一页返回回来的参数的。像?面这样:

index.js

wx.navigateTo({  url: url,  events: {    // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据    acceptDataFromOpenedPage: (data) => { // 这个方法是随便命名的,没有多少要求,不过被打开的页面emit的时候第一个参数要写这个方法名      console.log('从隔壁扔来的酸豆角馅儿的包子',data)    },  },  success: function (res) {    // 通过eventChannel向被打开页面传送数据    // res.eventChannel.emit('acceptDataFromOpenerPage', { data: 'test' })  }})

gebi.js

// 确认选择confirm() {  const eventChannel = this.getOpenerEventChannel()  // 这里应该是微信自带的方法,直接用,妥妥的  eventChannel.emit('acceptDataFromOpenedPage', data)  // 上一个页面event里接收参数的方法名  wx.navigateBack()   // 返回上一个页面}

这两个操作就完成了类似于Vue2.x的父子组件传值,这个emit简直一摸一样。

那怎么向下一个页面传值呢?在不使用store,storage的时候,可以通过Url后面带参的方式还有就是上面wx.navigateTo的success回调。虽然success回调我没有用过,但是看了一下感觉非常像我用WEBworker的时候向子线程里面传值和子线程向主线程传值时,主线程和子线程对数据的接收方式。说白了我觉得就是'监听'(addeventlistener)  (0o-_^o)
这里要提一嘴,URL路径的前面就是pages的前面在跳转的时候带/,就是这样

wx.navigateTo({  url: '/pages/index/index'})

小程序的URL传值

小程序的URL传值,跟我们普通的路由带参时一样的,都是后面带问号(?)和且符号(&),但是要分为基本类型的数据传值和引用类型的数据传值。普通的就下面这样儿:

wx.navigateTo({  url: '/pages/index/index?page=/pages/home/home&id=0077FF'})

是的你没有看错,就是可以这么传这么个值'/pages/home/home',别的特殊字符应该是要转一下吧,没试过。

小程序的URL传对象

那传个对象或者数组的话要:

传:先转字符串,在编码。

收:先解码,在转对象。

data = {name: '包子',  type: '牛肉粉丝'}wx.navigateTo({  url: `/pages/index/index?page=/pages/home/home&params=${encodeURIComponent(JSON.stringify(data))}`})
onLoad (options) {const {page} = options;const params = JSON.parse(decodeURIComponent(options.params))}

嗯~就这样传,没得错。

提一嘴store

我这个项目用的mobx,在mobx里面的拿到的数组的数据就变得很奇怪,不明原因解决方法是。mobx里面有toJS()的方法,用一下就好了。

import { toJS } from 'mobx-miniprogram';let value = toJS(xxxx)

旋转跳跃

关于跳转,小程序的官网说的很清楚了,我在这里就做个表格吧。

wx.navigateTo跳转到某页面,可以返回,页面栈最多10层,event内部方法可以获取下一页面返回的数据
wx.navigateBack返回上一页或者多个页面,getCurrentPages(没用过,都是直接wx.navigateBack()用的)可获取当前页面栈
wx.reLaunch关闭所有页面,并直接跳转到某一个页面
wx.redirectTo关闭当前页面,并直接跳转到某一个页面

wx.switchTab. -0-0----> 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面(官网原话)

关于EventChannel,就是上面说的页面间传值,我也就用了emit,剩下的off,on,once这些我没用过,不好讲因为没得场景带入不好理解,我估摸着也许可能猜测哈能做发布订阅模式来写一些东西。

两个表格是不是觉得分的很清,嘿嘿嘿。其实是我markdown的表格没用好,分开感觉居然更合适。

到此,关于“微信小程序如何实现页面间传值”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: 微信小程序如何实现页面间传值

本文链接: https://www.lsjlt.com/news/270339.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • 微信小程序如何实现页面间传值
    这篇文章主要介绍“微信小程序如何实现页面间传值”,在日常操作中,相信很多人在微信小程序如何实现页面间传值问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”微信小程序如何实现页面间传值”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-14
  • 微信小程序如何实现页面传值
    这篇文章将为大家详细讲解有关微信小程序如何实现页面传值,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。微信小程序 页面传值详解一. 跨页面传值.1 . 用 navigato...
    99+
    2022-10-19
  • 微信小程序中页面间如何实现传值与页面取值操作
    小编给大家分享一下微信小程序中页面间如何实现传值与页面取值操作,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体如下:微信小程序...
    99+
    2022-10-19
  • 微信小程序js页面间怎么传值
    本文小编为大家详细介绍“微信小程序js页面间怎么传值”,内容详细,步骤清晰,细节处理妥当,希望这篇“微信小程序js页面间怎么传值”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。  1.js页面间的传值:url: &...
    99+
    2023-06-26
  • 微信小程序页面间传值的实现方法示例
    小程序页面间传值 大家晚上好,说晚上好是因为是在晚上写的,说这句话是因为这句话开篇不那么突然。那么小程序的页面间传值,在我使用这段时间里,我就非常的主观的把它们分为wx.navig...
    99+
    2022-11-12
  • 微信小程序怎么实现不同页面之间传值
    今天小编给大家分享一下微信小程序怎么实现不同页面之间传值的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。我们在开发微信小程序的...
    99+
    2023-06-26
  • 微信小程序zm 实现页面跳转传值
    这篇文章给大家分享的是有关微信小程序zm 实现页面跳转传值的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。微信小程序实现页面跳转传值的方法比如从index。wxml跳转到aaa.w...
    99+
    2022-10-19
  • 微信小程序页面间如何传id
    微信小程序页面间传id的方法:在.wxml文件中添加以下代码<block wx:for-items="{{newGoods}}" wx:key="id"> &...
    99+
    2022-10-20
  • 微信小程序中如何实现子页面向父页面传值
    这篇文章主要介绍微信小程序中如何实现子页面向父页面传值,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!微信小程序中子页面向父页面传值实例详解上面一张图是编辑款项页面,下面一张图是点击了...
    99+
    2022-10-19
  • 微信小程序js如何向页面传值
    在微信小程序中利用js向页面传值的方法首先,在wxml页面中,自定义一个属性data-src;src='{{item.img}}' bindtap='biggerImg' data-src="{{需要传递的值}}"进入json文件,在文件调...
    99+
    2022-10-04
  • 微信小程序如何实现页面之间的传参
    这篇文章主要介绍了微信小程序如何实现页面之间的传参,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。微信小程序 传参:实现效果图:微信小程序在两...
    99+
    2022-10-19
  • 微信小程序怎么实现页面跳转传值
    小编给大家分享一下微信小程序怎么实现页面跳转传值,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!微信小程序 页面跳转传值实现代码微...
    99+
    2022-10-19
  • 微信小程序页面间如何传递数据
    微信小程序页面间实现传递数据的几种方法使用url通过option获取值//定义url,并赋值wx.navigateTo({url: 'testid=1'})//使用option获取值url的值Page({data:{id:'',},onLo...
    99+
    2022-10-18
  • 微信小程序页面间的数组如何传递
    微信小程序页面间的数组的传递案例:设置全局变量 globalData代码。// A页面// 数组、对象都需要stringifyvar listData = JSON.stringify(th...
    99+
    2022-10-18
  • 微信小程序中怎么实现页面间跳转传参
    微信小程序中怎么实现页面间跳转传参,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。缓存虽然URL传参比较简单易用,但也有局限性,...
    99+
    2022-10-19
  • 微信小程序中如何实现多个页面传参通信
    这篇文章给大家分享的是有关微信小程序中如何实现多个页面传参通信的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。前言微信小程序越来越火,不少公司都在将原生代码转为微信小程序代码。在开...
    99+
    2022-10-19
  • 微信小程序wx.navigateTo中events属性怎么实现页面间通信传值,数据同步
    这篇文章给大家分享的是有关微信小程序wx.navigateTo中events属性怎么实现页面间通信传值,数据同步的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。上级页面新打开页面通...
    99+
    2022-10-19
  • 微信小程序页面如何传递参数
    微信小程序页面传递参数的示例:示例1:在对应的wxml文件中添加以下代码:<block wx:for="{{postList}}" wx:for-item="item"&nb...
    99+
    2022-10-20
  • 微信小程序如何实现登录页面
    这篇文章主要讲解了“微信小程序如何实现登录页面”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“微信小程序如何实现登录页面”吧!1. 在首页中加入一个弹窗作为登录窗口,效果如下图:(1)inde...
    99+
    2023-06-30
  • 微信小程序实现登录页面
    本文实例为大家分享了微信小程序实现登录页面的具体代码,供大家参考,具体内容如下 实现在进入微信小程序首页前的登录验证页面,这里有两种方法,但其实原理都是一样的。 1. 在首页中加入一...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作