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

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

一、背景

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

二、方式一: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 兼容各个浏览器的事件

    JS 兼容各个浏览器的事件主要是针对旧版浏览器(如IE 8及以下版本)的事件处理进行兼容。 一、事件绑定兼容处理 旧版浏览器中经常使用 attachEvent 方法绑定事件,而现代浏览器则使用 addEventListener 方法。因此需要对这两种方法进行不同的处理以实现跨浏览器兼容。 function addEventHandler(element, e…

    JavaScript 2023年6月10日
    00
  • 基于JavaScript创建动态Dom

    创建动态 DOM 可以通过多种方式,其中一种方法是使用 JavaScript。下面是基于 JavaScript 创建动态 DOM 的完整攻略,包含两条示例说明。 1. 在 HTML 中创建容器元素 首先,在 HTML 页面中创建一个空的容器元素,该元素的 id 属性可以用于后续操作。例如: <!DOCTYPE html> <html>…

    JavaScript 2023年5月28日
    00
  • JavaScript 闭包机制详解及实例代码

    JavaScript 闭包机制详解及实例代码 什么是闭包 在JavaScript中,闭包(closure)是一种非常重要的概念。简单来说,闭包是指可以访问自由变量的函数。函数可以访问定义在它外部作用域内的变量。 闭包的基本形式 在一个函数内部,创建一个内部函数,内部函数可以访问外部函数的变量。这个内部函数就是闭包。 示例代码如下: function oute…

    JavaScript 2023年6月10日
    00
  • js 定义对象数组(结合)多维数组方法

    JS中对象数组是一种常用的数据结构,用于存储一组具有相同特征的数据。当多个对象数组需要结合起来使用,就需要使用多维数组。 定义多维数组的方法: var multiArray = []; // 定义一个空的多维数组 // 定义一个含有两个元素的一维数组,每个元素是一个对象数组 multiArray[0] = [{name: ‘张三’, age: 20}, {n…

    JavaScript 2023年5月27日
    00
  • javascript执行上下文详解

    JavaScript 执行上下文详解 JavaScript(以下简称 JS)是一种运行在浏览器中的编程语言,它常常被用来实现交互性和动画效果。理解 JavaScript 的执行上下文对于掌握 JS 编程至关重要,这篇文章将为你详细讲解 JS 执行上下文的工作原理及其相关的知识点。 JS 执行上下文 JS 执行上下文是在代码执行时,JavaScript 引擎所…

    JavaScript 2023年6月10日
    00
  • document.getElementById的一些细节

    当我们在JavaScript中使用DOM操作时,document.getElementById方法是最基本且常用的方法之一,主要用于通过元素的ID获取该元素对象。 下面是一些document.getElementById的细节: 获取不存在的ID时返回null 当我们使用document.getElementById获取ID并且此ID不存在的时候,该方法会返…

    JavaScript 2023年6月10日
    00
  • JavaScript使用FileReader实现图片上传预览效果

    下面我来详细讲解一下使用JavaScript中的FileReader实现图片上传预览效果的完整攻略。 一、前置知识 在进行该攻略前,我们需要具备以下几个前置知识: 基本的HTML、CSS和JavaScript语法; HTML中的<input>标签,其中type属性为file可以让用户选择上传文件; FileReader对象,可以通过它来读取上传的…

    JavaScript 2023年5月27日
    00
  • 手把手教你实现一个JavaScript时间轴组件

    下面是“手把手教你实现一个JavaScript时间轴组件”的完整攻略: 1. 确定时间轴的基本结构 首先,我们需要确定时间轴的基本结构。时间轴通常由以下部分组成: 时间轴的标题,用于简要介绍时间轴的内容; 时间轴的标记,用于标注每个时间点的名称、时间、描述等信息; 时间轴的箭头,表示时间轴的方向。 时间轴的基本HTML结构如下所示: <div clas…

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