小程序页面间传参的五种方式实例详解

yizhihongxing

下面就为你详细讲解“小程序页面间传参的五种方式实例详解”的完整攻略。

一、背景

小程序开发中,需要在不同页面间传递参数,以便实现不同页面间的数据交互,并在目标页面中通过这些参数做出相应的操作。下面,我们就来看一下小程序页面间传参的五种方式实例详解。

二、方式一:query参数传递

query参数传递是小程序页面间传参数最常用的方式。通过传递query参数,目标页面就可以通过查询当前页面的url获取传递来的参数。示例代码如下:

//在当前页面,拼接目标页面url时传递参数
wx.navigateTo({
  url: '/pages/targetPage/targetPage?id=123&name=test'
})

//在目标页面代码中,获取传递过来的参数
Page({
  onLoad: function(options) {
    console.log(options.id) //输出'123'
    console.log(options.name) //输出'test'
  }
})

三、方式二:事件传递

通过事件传递,可在两个页面间传递任意参数,只要在事件中传递就行。示例代码如下:

//在当前页面,触发目标页面的事件并传递参数
this.triggerEvent('eventTest',{id:123,name:'test'})

//在目标页面的代码中,监听事件并接收传递过来的参数
MyComponent({
  properties: {
     //组件的属性列表
  },
  methods: {
    eventTest(e) {
      console.log(e.detail)  //输出'{id:123,name:'test'}'
    }
  }
})

四、方式三:GlobalData传递

小程序中的globalData是全局的数据,可以在任意页面访问,因此可通过修改globalData数据来实现参数传递。示例代码如下:

//在当前页面,修改全局的globalData数据并传递参数
getApp().globalData.id = 123
getApp().globalData.name = 'test'

//在目标页面的代码中,访问全局的globalData获取传递过来的参数
Page({
  onLoad: function() {
    console.log(getApp().globalData.id) //输出'123'
    console.log(getApp().globalData.name) //输出'test'
  }
})

五、方式四:缓存Storage传递

小程序中的Storage可以让我们在不同的页面间存储数据,并且在任意页面间读取相同的数据。示例代码如下:

//在当前页面,通过Storage存储传递参数
wx.setStorageSync('id', '123')
wx.setStorageSync('name', 'test')

//在目标页面代码中,通过Storage获取传递过来的参数
Page({
  onLoad: function() {
    console.log(wx.getStorageSync('id')) //输出'123'
    console.log(wx.getStorageSync('name')) //输出'test'
  }
})

六、方式五:页面间获取引用

通过给一个页面传递一个引用,目标页面就可以直接访问传递过来页面的数据。示例代码如下:

//在当前页面,拼接目标页面的url时传递引用和参数
wx.navigateTo({
  url: '/pages/targetPage/targetPage?id=123&name=test&prePage=currentPage'
})

//在目标页面代码中,通过getCurrentPages获取当前页面集合,并访问传递页面的数据
Page({
  onLoad: function(options) {
    const pages = getCurrentPages()
    const prePage = pages[pages.length - 2]
    console.log(prePage.options.id) //输出'123'
    console.log(prePage.options.name) //输出'test'
  }
})

以上就是小程序页面间传参的五种方式实例详解的全部内容。无论是通过query参数、事件传递、修改globalData、缓存Storage还是页面间获取引用,都可以实现不同页面之间的数据交互,方便开发。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:小程序页面间传参的五种方式实例详解 - Python技术站

(0)
上一篇 2023年6月11日
下一篇 2023年6月11日

相关文章

  • Javascript创建自定义对象 创建Object实例添加属性和方法

    下面是“Javascript创建自定义对象 创建Object实例添加属性和方法”的完整攻略。 创建自定义对象 在Javascript中,可以通过构造函数创建自定义对象。它是一种特殊的函数,可以用来创建具有特定属性和方法的对象。以下是创建自定义对象的示例代码: function Person(name, age) { this.name = name; thi…

    JavaScript 2023年5月27日
    00
  • js在HTML的三种引用方式详解

    我来详细讲解“js在HTML的三种引用方式详解”。 什么是js在HTML的三种引用方式 在HTML中,我们可以通过三种不同的方式引入JavaScript代码,让我们的网页拥有更多的交互性和动态效果。这三种引用方式分别是: 内部文件引用:在HTML文件中使用<script>标签引入JavaScript文件; 外部文件引用:在HTML文件中使用&lt…

    JavaScript 2023年5月27日
    00
  • JavaScript截取指定长度字符串点击可以展开全部代码

    下面是详细讲解“JavaScript截取指定长度字符串点击可以展开全部代码”的完整攻略。 1. 需求分析 在网页上展示代码时,为了节约页面空间,通常需要对代码进行截取,只显示部分内容。但是,当用户需要查看完整的代码时,需要提供一个展开全文的功能。因此,我们需要使用JavaScript截取指定长度的字符串,并且在用户点击时展开全部字符串。 2. 解决方案 2.…

    JavaScript 2023年5月28日
    00
  • js的Object.assign用法示例分析

    简介 Object.assign 是 ES6 新增的一个API,能够将一个或多个源对象的属性复制到目标对象上。它的参数依次为目标对象和一个或多个源对象。如果源对象中的属性已经存在在目标对象中,那么源对象中的属性值将覆盖目标对象中的属性值。 语法 Object.assign(target, …sources) 参数: target (必须):要将源对象复制…

    JavaScript 2023年5月27日
    00
  • JavaScript原生节点操作小结

    下面是“JavaScript原生节点操作小结”的详细攻略。 1. 节点操作的概述 可以通过JavaScript创建节点、添加节点、删除节点、替换节点、修改节点等操作,从而动态地改变HTML页面的内容。 节点操作是Web开发中非常常见的技术,掌握该技术可以让你更好地操作网页,实现更加丰富、复杂的页面效果。 2. 使用原生JavaScript操作节点 在Java…

    JavaScript 2023年6月10日
    00
  • JS基础系列之正则表达式

    JS基础系列之正则表达式 正则表达式(Regular Expression)是一个描述字符模式的对象。一般用于字符串的匹配、查找、替换等。JavaScript 通过内置对象 RegExp 提供对正则表达式的支持。本文将提供一些正则表达式的基础知识和用法,让你轻松入门。 创建正则表达式 正则表达式可以采用字面量形式或者使用 RegExp 构造函数创建。其中字符…

    JavaScript 2023年6月10日
    00
  • js实现获取两个日期之间所有日期的方法

    首先,我们可以利用 JavaScript 中的 Date 对象来进行日期计算和格式化,从而实现获取两个日期之间所有日期的方法。以下是实现方法的步骤: 定义一个函数,接收两个参数,表示开始日期(start)和结束日期(end)。 利用 Date.parse() 方法将日期字符串转换为时间戳,方便后面的计算。 利用 Math.abs() 方法求出两个日期之间的毫…

    JavaScript 2023年5月27日
    00
  • 浅谈js闭包理解

    浅谈JS闭包理解 什么是闭包 在Javascript中,闭包是可以访问外部函数作用域内变量的函数。通俗的讲,闭包就是将函数内的变量保存起来,以便在后续的函数中使用的一种机制。 闭包的定义 闭包由两部分组成:函数(或者函数表达式)和一个保存该函数作用域的对象。 例如: function outerFunction() { let outerVar = 5; f…

    JavaScript 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部