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

小程序頁面之間數(shù)據(jù)傳遞的4種方法總結(jié)

 更新時間:2023年04月25日 12:15:14   作者:愛倒騰  
由于經(jīng)常需要進行頁面間傳參且各種傳參的業(yè)務(wù)場景也不相同,根據(jù)官方文檔和日常工作進行了總結(jié),下面這篇文章主要給大家總結(jié)介紹了關(guān)于小程序頁面之間數(shù)據(jù)傳遞的4種方法,需要的朋友可以參考下

前言

近期再使用小程序開發(fā)的時候遇到小程序頁面和頁面之間的數(shù)據(jù)傳遞問題??偨Y(jié)一下大致有以下幾種方式實現(xiàn)頁面數(shù)據(jù)傳遞。

最常見的就是路由傳參,使用場景主要是頁面匯總的少量數(shù)據(jù)的傳遞。以下都以Taro+vue示例,原生、react或者uniapp同理,替換以下關(guān)鍵字Taro即可

注意:以下的幾種方式會把參數(shù)string化,例如: true -> ‘true’; 1 -> ‘1’

1. 少量數(shù)據(jù)傳遞

例如: 從A頁面->B頁面

使用頁面跳轉(zhuǎn)navigateBack 保留當(dāng)前頁面,跳轉(zhuǎn)到應(yīng)用內(nèi)的某個頁面。但是不能跳到 tabbar 頁面。

參數(shù): ?隔開,=相連

官方文檔

A頁面

  wx.navigateTo({
  	url: 'test?id=1'
  })

B頁面

import { useDidShow, useRouter } from "@tarojs/taro"

// 在 show生命周期中獲取
useDidShow(() => {
    const router: any = useRouter();
    const data = router.params ?? {}; // 取router里面的params 
});

這種適用于數(shù)據(jù)量少的情況,也不建議復(fù)雜或者數(shù)據(jù)量打的時候使用該方法(個人建議而已-.-)

2. 數(shù)據(jù)量大或者相對復(fù)雜的數(shù)據(jù)傳遞

從A頁面->B頁面,適用于頁面跳轉(zhuǎn)數(shù)據(jù)量較多或者復(fù)雜的數(shù)據(jù)時

A頁面

Taro.navigateTo({
  url: '/test',
  success: function(res) {
    // 通過 eventChannel 向被打開頁面?zhèn)魉蛿?shù)據(jù)
    res.eventChannel.emit('test-data', { data: 'test' }) 
    // res.eventChannel.emit 第二個參數(shù)是要傳遞的數(shù)據(jù) **第二個參數(shù)只能是key-value形式的對象**
  }
})

B頁面,在show生命周期中獲取

 useDidShow(() => {
    const current = pages[pages.length - 1];
    const event = current.getOpenerEventChannel();
        event.on('test-data', params => {
            console.log(params); // { data: 'test' }
        });
    });

3. 返回上一個頁面的數(shù)據(jù)傳遞

B頁面->A頁面,從B頁面返回A頁面時需要傳遞一些數(shù)據(jù)時。返回上一個頁面navigateBack

示例:

B頁面返回上一個頁面

 // 獲取全部頁面
 let pages= getCurrentPages()
 // 獲取前一個頁面的序號
 let prevPage = pages[pages.length - 1]
 // 給前一個頁面設(shè)置數(shù)據(jù)
 prevPage.setData({...})
 
 wx.navigateBack({
   delta: 1 // 返回一個頁面
   // 返回的頁面數(shù),如果 delta 大于現(xiàn)有頁面數(shù),則返回到首頁
 })

在A頁面

useDidShow(async () => {
    const data = Taro.getCurrentInstance().page.data ;
    // 頁面返回的參數(shù)
    })

4. 使用本地緩存

使用setStorageSyncgetStorageSync(建議在以上三種都不滿足使用場景時使用該方法)

// set
 Taro.setStorageSync('test', data);
 // get
 Taro.getStorageSync('test')

目前接觸就這四種,應(yīng)該還有其他方式,只是常用這四種。歡迎補充和指正。

總結(jié) 

到此這篇關(guān)于小程序頁面之間數(shù)據(jù)傳遞的4種方法的文章就介紹到這了,更多相關(guān)小程序頁面間數(shù)據(jù)傳遞內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • js+canvas實現(xiàn)簡單掃雷小游戲

    js+canvas實現(xiàn)簡單掃雷小游戲

    這篇文章主要為大家詳細介紹了js+canvas實現(xiàn)簡單掃雷小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • canvas壓縮圖片轉(zhuǎn)換成base64格式輸出文件流

    canvas壓縮圖片轉(zhuǎn)換成base64格式輸出文件流

    本文主要介紹了canvas壓縮圖片轉(zhuǎn)換成base64格式輸出文件流的方法,具有很好的參考價值。下面跟著小編一起來看下吧
    2017-03-03
  • javascript 節(jié)點排序 2

    javascript 節(jié)點排序 2

    對支持sourceIndex的HTML文檔的節(jié)點重排,使用JK提供的思路,速度至少比單純使用nodes.sort(function(a,b){return a.sourceIndex - b.sourceIndex})這種方式快兩倍
    2011-01-01
  • JavaScript實現(xiàn)倒計時跳轉(zhuǎn)頁面功能【實用】

    JavaScript實現(xiàn)倒計時跳轉(zhuǎn)頁面功能【實用】

    本文分享了JavaScript實現(xiàn)倒計時跳轉(zhuǎn)頁面功能的具體實例代碼,頁面代碼簡單,直接拷貝就能運行,頁面可以自己美化下哦。需要的朋友一起來看下吧
    2016-12-12
  • JS實現(xiàn)數(shù)組扁平化的方法總結(jié)

    JS實現(xiàn)數(shù)組扁平化的方法總結(jié)

    數(shù)組扁平化相信不少朋友在一些面試中被問到過,這在我們?nèi)粘>幊讨幸彩且粋€常規(guī)操作,它需要我們將一個多維數(shù)組轉(zhuǎn)化成一個一維數(shù)組,所以,借著這篇文章,我們今天就一起來匯總一下幾種數(shù)組扁平化的方式,需要的朋友可以參考下
    2024-02-02
  • ie 處理 gif動畫 的onload 事件的一個 bug

    ie 處理 gif動畫 的onload 事件的一個 bug

    ie 處理 gif動畫 的onload 事件的一個 bug...
    2007-04-04
  • Javascript仿京東放大鏡的效果

    Javascript仿京東放大鏡的效果

    本文主要介紹了Javascript仿京東放大鏡效果的實例。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-03-03
  • 前端使用正則表達式進行校驗的方法總結(jié)大全

    前端使用正則表達式進行校驗的方法總結(jié)大全

    很多時候我們需要校驗用戶輸入的值是否正確,如果格式固定的,直接把錯誤的值傳給后端顯然是不合理的,所以我們要直接在前端進行正則校驗,這篇文章主要給大家介紹了關(guān)于前端使用正則表達式進行校驗的相關(guān)資料,需要的朋友可以參考下
    2024-07-07
  • JS常用時間操作moment.js的使用方法

    JS常用時間操作moment.js的使用方法

    Moment.js是一個輕量級的JavaScript時間庫,通常會對時間進行下面這幾個操作:比如獲取時間,設(shè)置時間,格式化時間,比較時間等等,本文就來介紹一下如何使用,感興趣的可以了解下
    2023-09-09
  • 將input file的選擇的文件清空的兩種解決方案

    將input file的選擇的文件清空的兩種解決方案

    上傳文件時,選擇了文件后想清空文件路徑,經(jīng)搜索發(fā)現(xiàn)個不錯的方法在此與大家分享下,感興趣的朋友不要錯過
    2013-10-10

最新評論

新建县| 黄石市| 衡水市| 承德市| 扶绥县| 房产| 开封县| 萨嘎县| 绥宁县| 永定县| 民县| 德州市| 贵阳市| 金昌市| 张家口市| 长沙县| 蓬安县| 通江县| 普格县| 富顺县| 历史| 忻州市| 共和县| 鸡西市| 望都县| 临洮县| 丰镇市| 灵台县| 桦川县| 侯马市| 治多县| 泌阳县| 敖汉旗| 文水县| 册亨县| 邵阳市| 永兴县| 巴林右旗| 宁远县| 汕头市| 夏河县|