如何在页面之间传递参数?

推荐答案

在 uni-app 中,页面之间传递参数可以通过以下几种方式实现:

  1. URL 传参:通过 navigateToredirectTo 等路由跳转方法,在 URL 中携带参数。

  2. 全局变量:使用 VuexglobalData 存储数据,在目标页面中读取。

    -- -------------------- ---- -------
    -- - ------- --- ----------
    ----------- -
        --------- ----
    -
    
    -- ------ ----------
    ---------------------------- - - --- ---- ----- ------ --
    
    -- -------- ----------
    ----- -------- - -----------------------------
  3. 事件总线:通过 uni.$emituni.$on 实现跨页面通信。

  4. 本地存储:使用 uni.setStorageSyncuni.getStorageSync 存储和读取数据。

本题详细解读

URL 传参

URL 传参是最常见的方式,适用于简单的参数传递。通过 navigateToredirectTo 方法跳转页面时,可以在 URL 中携带参数。目标页面可以通过 onLoad 生命周期函数获取这些参数。

-- -------------------- ---- -------
-- -- -
----------------
    ---- ---------------------------------------
---

-- -- -
--------------- -
    ------------------------ -- -- ---
    -------------------------- -- -- ----
-

全局变量

全局变量适用于需要在多个页面之间共享数据的场景。globalData 是 uni-app 提供的一个全局数据存储对象,可以在 app.vue 中定义,并在任何页面中访问和修改。

-- -------------------- ---- -------
-- -------
----------- -
    --------- ----
-

-- -- -
---------------------------- - - --- ---- ----- ------ --

-- -- -
----- -------- - -----------------------------
---------------------- -- -- - --- ---- ----- ------ -

事件总线

事件总线适用于需要跨页面通信的场景。通过 uni.$emit 发送事件,uni.$on 监听事件,可以实现页面之间的数据传递。

本地存储

本地存储适用于需要持久化数据的场景。通过 uni.setStorageSyncuni.getStorageSync 可以在页面之间传递数据,并且数据会持久化存储在本地。

通过以上几种方式,可以在 uni-app 中实现页面之间的参数传递,开发者可以根据具体需求选择合适的方式。

纠错
反馈