微信小程序怎么进行页面传参

简介: 微信小程序怎么进行页面传参

微信小程序页面传参的方式有多种,每种方式都有其特定的使用场景和优势。以下是几种常见的页面传参方式,以及它们的具体使用方法和示例:

  1. URL参数传值
  • 原理:通过在跳转链接中附加参数,在目标页面的onLoad函数中获取参数。
  • 示例:javascript复制代码
// 源页面跳转
wx.navigateTo({
url: '/pages/targetPage/targetPage?name=John&age=30'
})
// 目标页面接收参数
Page({
onLoad: function(options) {
console.log(options.name); // 输出: John
console.log(options.age); // 输出: 30
}
})

  • 特点:简单直接,适用于页面间简单的数据传递。
  1. 全局变量
  • 原理:在app.js文件中定义全局变量,通过getApp().globalData在源页面设置和目标页面获取变量的值。
  • 示例:javascript复制代码
// app.js
App({
globalData: {
userInfo: null
}
})
// 源页面设置全局变量
const app = getApp();
app.globalData.userInfo = { name: 'John', age: 30 };
// 目标页面获取全局变量
const app = getApp();
console.log(app.globalData.userInfo); // 输出: { name: 'John', age: 30 }

  • 特点:适用于在整个应用中共享数据。
  1. 缓存存储
  • 原理:使用wx.setStorageSync()在源页面设置存储的值,目标页面通过wx.getStorageSync()获取值。
  • 示例:javascript复制代码
// 源页面设置缓存
wx.setStorageSync('userInfo', { name: 'John', age: 30 });
// 目标页面获取缓存
let userInfo = wx.getStorageSync('userInfo');
console.log(userInfo); // 输出: { name: 'John', age: 30 }

  • 特点:数据持久化存储,适用于跨页面、跨会话的数据传递。
  1. 路由传参
  • 原理:使用wx.navigateTo()传递参数,目标页面通过options参数获取传递的值。
  • 示例:与URL参数传值类似,但通常用于通过编程式导航传递参数。
  1. 事件触发传参
  • 原理:通过事件绑定,在源页面触发事件传递需要的参数,目标页面通过事件对象获取传递的值。
  • 示例:通常在自定义组件间使用,通过触发自定义事件传递数据。
  1. 组件传参
  • 原理:通过自定义组件的properties属性进行父子组件间的数据传递。
  • 示例:在自定义组件的properties中定义需要传递的属性,然后在父组件中设置该属性的值。
  1. 使用通信通道(wx.navigateTo的特有功能)
  • 原理:通过wx.navigateTo打开的页面间可以通过wx.getCurrentPages()获取页面栈,并使用页面栈中的页面实例进行通信。
  • 示例:这通常用于实现页面间的复杂交互和数据传递。

总结

微信小程序页面传参的方式多样,开发者可以根据实际需求选择合适的方式。简单直接的参数传递可以使用URL参数或路由传参;需要跨页面或持久化存储的数据可以使用全局变量或缓存存储;自定义组件间的数据传递可以使用组件传参;对于复杂的页面间交互,可以使用通信通道或其他高级功能。

相关文章
|
2月前
|
JSON 小程序 前端开发
微信小程序的目录结构及页面结构的说明
本文详细介绍了微信小程序的目录结构、页面组成部分以及项目的全局配置文件,阐述了小程序的宿主环境和运行机制,包括小程序启动和页面渲染的过程。
微信小程序的目录结构及页面结构的说明
|
4月前
|
小程序 API 数据库
【微信小程序-原生开发】实用教程09 - 可滚动选项,动态列表-步骤条(含事件传参),动态详情(含微信云查询单条数据 doc)
【微信小程序-原生开发】实用教程09 - 可滚动选项,动态列表-步骤条(含事件传参),动态详情(含微信云查询单条数据 doc)
85 0
|
3月前
|
小程序
微信小程序多种跳转页面方式
微信小程序多种跳转页面方式
|
2月前
|
小程序 JavaScript API
微信小程序开发学习之页面导航(声明式导航和编程式导航)
这篇文章介绍了微信小程序中页面导航的两种方式:声明式导航和编程式导航,包括如何导航到tabBar页面、非tabBar页面、后退导航,以及如何在导航过程中传递参数和获取传递的参数。
微信小程序开发学习之页面导航(声明式导航和编程式导航)
|
2月前
|
小程序 前端开发 生物认证
微信小程序如何将一个按钮放到页面的最底下?
微信小程序如何将一个按钮放到页面的最底下?
258 5
|
2月前
|
JSON 小程序 JavaScript
微信小程序页面事件,下拉刷新事件和上拉触底事件
这篇文章介绍了微信小程序中如何实现下拉刷新和上拉触底事件,包括开启下拉刷新、配置下拉刷新样式、监听下拉刷新事件,以及监听上拉触底事件和配置上拉触底的距离。
|
3月前
|
小程序 开发者
万能的微信小程序个人主页:商城系统个人主页、外卖系统个人主页、购票系统个人主页等等【全部源代码分享+页面效果展示+直接复制粘贴编译即可】
这篇文章分享了四个不同应用场景下的微信小程序个人主页的源代码和页面效果展示,包括商城系统、外卖系统、医疗挂号和电影购票系统的个人主页。提供了完整的页面布局和样式代码,允许开发者直接复制粘贴并根据自己的项目需求进行简单的改造使用。
万能的微信小程序个人主页:商城系统个人主页、外卖系统个人主页、购票系统个人主页等等【全部源代码分享+页面效果展示+直接复制粘贴编译即可】
|
4月前
|
小程序 安全 搜索推荐
【微信小程序开发实战项目】——个人中心页面的制作
本文介绍了如何设计和实现一个网上花店的微信小程序,包括个人中心、我的订单和我的地址等功能模块。个人中心让用户能够查看订单历史、管理地址和与客服互动。代码示例展示了`own.wxml`、`own.wxss`和`own.js`文件,用于构建个人中心界面,包括用户信息、订单链接、收藏、地址、客服和版本信息。我的订单部分展示了订单详情,包括商品图片、名称、销量、价格和订单状态,用户可以查看和管理订单。我的地址功能允许用户输入和编辑收货信息,包括联系人、性别、电话、城市和详细地址。每个功能模块都附有相应的WXML和WXSS代码,以及简洁的样式设计。
210 0
【微信小程序开发实战项目】——个人中心页面的制作
|
4月前
|
前端开发 小程序
【微信小程序-原生开发】实用教程20 - 生成海报(实战范例为生成活动海报,内含生成指定页面的小程序二维码,保存图片到手机,canvas 系列教程)
【微信小程序-原生开发】实用教程20 - 生成海报(实战范例为生成活动海报,内含生成指定页面的小程序二维码,保存图片到手机,canvas 系列教程)
409 0
|
4月前
|
小程序
微信小程序—页面滑动,获取可视区域数据
微信小程序—页面滑动,获取可视区域数据
65 2