最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue3中從一個(gè)頁面(index)傳輸數(shù)值到另一個(gè)頁面(form)的方法詳解

 更新時(shí)間:2025年02月26日 09:04:56   作者:碼農(nóng)研究僧  
在 Vue 3 開發(fā)中,經(jīng)常需要在不同組件或頁面之間傳遞數(shù)據(jù),例如從 index 頁面獲取某個(gè)數(shù)值(如 cntr、tradeId)后,將其傳輸?shù)?nbsp;form 頁面進(jìn)行填寫或編輯,本文將介紹幾種常見的數(shù)據(jù)傳輸方法,并為每種方法提供一個(gè)小的 Demo 代碼示例,需要的朋友可以參考下

前言

在 Vue 3 開發(fā)中,經(jīng)常需要在不同組件或頁面之間傳遞數(shù)據(jù),例如從 index 頁面獲取某個(gè)數(shù)值(如 cntr、tradeId)后,將其傳輸?shù)?form 頁面進(jìn)行填寫或編輯

本文將介紹幾種常見的數(shù)據(jù)傳輸方法,并為每種方法提供一個(gè)小的 Demo 代碼示例

總結(jié)對比

方法適用場景適用數(shù)據(jù)類型是否持久化數(shù)據(jù)是否暴露
URL 傳參傳遞簡單數(shù)據(jù)(ID、狀態(tài)值)字符串、數(shù)字
eventChannelnavigateTo 方式傳遞復(fù)雜數(shù)據(jù)對象、數(shù)組
Vuex多個(gè)頁面共享數(shù)據(jù)對象、數(shù)組
localStorage短期數(shù)據(jù)存儲、頁面刷新保持對象、數(shù)組

推薦方案

  1. 如果只是傳遞少量數(shù)據(jù)(如 ID),URL 傳參最簡單
  2. 如果需要傳遞復(fù)雜對象(如 JSON),推薦 eventChannel
  3. 如果多個(gè)頁面共享數(shù)據(jù),Vuex 是更好的選擇
  4. 如果需要在頁面刷新后仍保留數(shù)據(jù),localStorage 是不錯(cuò)的方案

一開始博主使用的第一種,后續(xù)由于參數(shù)過多,使用第二種:

1. URL 參數(shù)

適用于簡單數(shù)據(jù)傳遞,如字符串、數(shù)字等

實(shí)現(xiàn)步驟

  1. 在 index 頁面使用 uni.navigateTo 或 this.$router.push 傳遞參數(shù)
  2. 在 form 頁面通過 onLoad(options) 或 this.$route.query 解析參數(shù)

index.vue

methods: {
  goToForm() {
    uni.navigateTo({
      url: `/pages/form/form?cntr=manong123&tradeId=1`
    });
  }
}

form.vue

優(yōu)缺點(diǎn)

優(yōu)點(diǎn):適合小型數(shù)據(jù)傳輸,如 ID、狀態(tài)值等
缺點(diǎn):無法傳輸復(fù)雜對象(如 JSON),會導(dǎo)致數(shù)據(jù)丟失

2. eventChannel 通信

適用于需要傳輸復(fù)雜數(shù)據(jù)(如對象、數(shù)組)且不希望數(shù)據(jù)暴露在 URL 參數(shù)中的情況

實(shí)現(xiàn)步驟

  • index 頁面通過 success 回調(diào),使用 eventChannel.emit 傳輸數(shù)據(jù)
  • form 頁面通過 getOpenerEventChannel().on 監(jiān)聽并接收數(shù)據(jù)

index.vue

methods: {
  goToForm() {
    uni.navigateTo({
      url: `/pages/form/form`,
      success: (page) => {
        if (page.eventChannel) {
          page.eventChannel.emit("setItemData", {
            cntr: "manong123",
            tradeId: "1",
            driverName: "碼農(nóng)研究僧"
          });
        }
      }
    });
  }
}

form.vue

onLoad(options) {
  const eventChannel = this.getOpenerEventChannel();
  eventChannel.on("setItemData", (itemData) => {
    this.itemData = itemData;
  });
}

優(yōu)缺點(diǎn)

優(yōu)點(diǎn):

適合傳輸復(fù)雜數(shù)據(jù),如 JSON 對象

數(shù)據(jù)不會暴露在 URL,安全性較高

缺點(diǎn):僅適用于 uni.navigateTo 方式,不適用于 redirectTo 或 switchTab

3. Vuex共享

適用于多個(gè)頁面共享數(shù)據(jù),或者希望數(shù)據(jù)在頁面間持久化的情況

實(shí)現(xiàn)步驟

  1. 在 Vuex 的 store 中定義 state 并提供 mutation
  2. index 頁面調(diào)用 commit 方法存入數(shù)據(jù)
  3. form 頁面通過 mapState 獲取數(shù)據(jù)

store/index.js

export default {
  state: {
    itemData: {}
  },
  mutations: {
    setItemData(state, data) {
      state.itemData = data;
    }
  }
};

index.vue

methods: {
  goToForm() {
    this.$store.commit("setItemData", {
      cntr: "manong123",
      tradeId: "1",
      driverName: "碼農(nóng)研究僧"
    });
    uni.navigateTo({ url: "/pages/form/form" });
  }
}

form.vue

computed: {
  itemData() {
    return this.$store.state.itemData;
  }
}

優(yōu)缺點(diǎn)

優(yōu)點(diǎn):

適用于全局狀態(tài)管理,多頁面數(shù)據(jù)共享

數(shù)據(jù)不會丟失,即使用戶返回上一頁

缺點(diǎn):適用于大規(guī)模項(xiàng)目,小項(xiàng)目可能不必要

4. localStorage 或 sessionStorage

適用于頁面刷新后仍需保持?jǐn)?shù)據(jù)的情況,如緩存用戶輸入的信息

實(shí)現(xiàn)步驟

  1. index 頁面存入 localStorage
  2. form 頁面從 localStorage 讀取數(shù)據(jù)

index.vue

methods: {
  goToForm() {
    uni.setStorageSync("itemData", {
      cntr: "manong123",
      tradeId: "1",
      driverName: "碼農(nóng)研究僧"
    });
    uni.navigateTo({ url: "/pages/form/form" });
  }
}

form.vue

onLoad(options) {
  this.itemData = uni.getStorageSync("itemData") || {};
}

優(yōu)缺點(diǎn)

優(yōu)點(diǎn):

適用于短期存儲,頁面刷新后數(shù)據(jù)仍可用

可用于 redirectTo、switchTab,不受 eventChannel 限制

缺點(diǎn):

需要手動清理,否則可能導(dǎo)致存儲過多無用數(shù)據(jù)

以上就是Vue3中從一個(gè)頁面(index)傳輸數(shù)值到另一個(gè)頁面(form)的方法詳解的詳細(xì)內(nèi)容,更多關(guān)于Vue3頁面?zhèn)鬏敂?shù)值的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Vue?Router?中?Hash和?History?模式的核心區(qū)別、使用場景

    Vue?Router?中?Hash和?History?模式的核心區(qū)別、使用場景

    文章詳細(xì)介紹了VueRouter中Hash模式和History模式的核心區(qū)別、底層原理、使用場景及部署注意事項(xiàng),文章還提供了實(shí)戰(zhàn)部署的解決方案和選型建議,感興趣的朋友跟隨小編一起看看吧
    2026-01-01
  • vue3實(shí)現(xiàn)無縫滾動列表效果(大屏數(shù)據(jù)輪播場景)

    vue3實(shí)現(xiàn)無縫滾動列表效果(大屏數(shù)據(jù)輪播場景)

    vue3-scroll-seamless 是一個(gè)用于 Vue 3 的插件,用于實(shí)現(xiàn)無縫滾動的組件,它可以讓內(nèi)容在水平或垂直方向上無縫滾動,適用于展示輪播圖、新聞滾動、圖片展示等場景,本文就給大家介紹了vue3實(shí)現(xiàn)無縫滾動列表效果,需要的朋友可以參考下
    2024-07-07
  • Vue?PC前端掃碼登錄功能實(shí)現(xiàn)

    Vue?PC前端掃碼登錄功能實(shí)現(xiàn)

    最近在做APP客戶端掃描PC端二維碼登錄,于是記錄一下實(shí)現(xiàn)過程,下面這篇文章主要給大家介紹了關(guān)于Vue?PC前端掃碼登錄功能實(shí)現(xiàn)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-12-12
  • VUE3中實(shí)現(xiàn)拖拽與縮放自定義看板vue-grid-layout詳解

    VUE3中實(shí)現(xiàn)拖拽與縮放自定義看板vue-grid-layout詳解

    想實(shí)現(xiàn)桌面自由拖拽布局的效果,找到了vue-grid-layout柵格布局插件,可以完美解決,下面這篇文章主要給大家介紹了關(guān)于VUE3中實(shí)現(xiàn)拖拽與縮放自定義看板vue-grid-layout的相關(guān)資料,需要的朋友可以參考下
    2023-02-02
  • 使用Vue-cli3.0創(chuàng)建的項(xiàng)目 如何發(fā)布npm包

    使用Vue-cli3.0創(chuàng)建的項(xiàng)目 如何發(fā)布npm包

    這篇文章主要介紹了使用Vue-cli3.0創(chuàng)建的項(xiàng)目,如何發(fā)布npm包,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-10-10
  • Vue.Draggable拖拽功能的配置使用方法

    Vue.Draggable拖拽功能的配置使用方法

    這篇文章主要為大家詳細(xì)介紹了Vue.Draggable拖拽功能配置使用的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • Vue中的methods、computed計(jì)算屬性和watch監(jiān)聽屬性的使用和區(qū)別解析

    Vue中的methods、computed計(jì)算屬性和watch監(jiān)聽屬性的使用和區(qū)別解析

    這篇文章主要介紹了Vue中的methods、computed計(jì)算屬性和watch監(jiān)聽屬性的使用和區(qū)別,本文通過示例代碼給大家介紹的非常詳細(xì)對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2024-01-01
  • vue混入mixin流程與優(yōu)缺點(diǎn)詳解

    vue混入mixin流程與優(yōu)缺點(diǎn)詳解

    混入(mixin)提供了一種非常靈活的方式,來分發(fā)vue組件中的可復(fù)用功能。一個(gè)混入對象可以包含任意組件選項(xiàng)。當(dāng)組件使用混入對象時(shí),所有混入對象的選項(xiàng)將被“混合”進(jìn)入該組件本身的選項(xiàng)
    2022-09-09
  • 詳解Vue router路由

    詳解Vue router路由

    這篇文章主要為大家介紹了Vue 的router路由,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-11-11
  • vue3數(shù)據(jù)監(jiān)聽watch/watchEffect的示例代碼

    vue3數(shù)據(jù)監(jiān)聽watch/watchEffect的示例代碼

    我們都知道監(jiān)聽器的作用是在每次響應(yīng)式狀態(tài)發(fā)生變化時(shí)觸發(fā),在組合式?API?中,我們可以使用?watch()函數(shù)和watchEffect()函數(shù),下面我們來看下vue3如何進(jìn)行數(shù)據(jù)監(jiān)聽watch/watchEffect,感興趣的朋友一起看看吧
    2023-02-02

最新評論

吴川市| 庆阳市| 杂多县| 乌拉特中旗| 天全县| 育儿| 哈尔滨市| 周至县| 来安县| 锦州市| 嘉定区| 宽城| 温宿县| 图木舒克市| 江山市| 邵武市| 明光市| 桐城市| 祁门县| 海门市| 上犹县| 新密市| 榆树市| 西宁市| 陕西省| 霍邱县| 天津市| 富蕴县| 保康县| 崇文区| 洛浦县| 随州市| 米泉市| 洞头县| 海晏县| 湖南省| 竹北市| 财经| 丹阳市| 郯城县| 霍城县|