學習啦 > 學習電腦 > 玩轉(zhuǎn)微信 > 微信小程序傳遞數(shù)據(jù)如何開發(fā)和實現(xiàn)

微信小程序傳遞數(shù)據(jù)如何開發(fā)和實現(xiàn)

時間: 錦暉1117 分享

微信小程序傳遞數(shù)據(jù)如何開發(fā)和實現(xiàn)

  在微信小程序的開發(fā)中,我們會經(jīng)常遇到頁面間數(shù)據(jù)傳遞或者相互影響的問題。在實際的開發(fā)微信小程序傳遞數(shù)據(jù)過程中,可以通過以下幾種方法來實現(xiàn)。以下是學習啦小編為您帶來的關(guān)于微信小程序傳遞數(shù)據(jù)開發(fā)和實現(xiàn),希望對您有所幫助。

  微信小程序傳遞數(shù)據(jù)開發(fā)和實現(xiàn)

  使用全局變量,全局變量實際上是定義了一個全局的對象,并在每個頁面中引入。

  在初始化代碼的時候,小程序會讀取一個app.js的文件,在這里我們可以定義我們所需要的全局變量。

  然后在頁面中,可以通過 getApp()方法獲取到全局應(yīng)用對象,可以對全局變量進行讀取并更改微信代碼:

  由于 app.js在項目中是用來做基礎(chǔ)配置的,因此不建議將很多變量放在這里配置。一般情況下會將一些持久化的常量配置在這里,對于經(jīng)常需要變動的量不建議用這個方法。

  使用本地緩存

  本地緩存是微信小程序提供的一個功能, 可以將微信用戶產(chǎn)生的數(shù)據(jù)做本地的持久化,類似于 NoSQL,可以進行讀取和修改的操作。

  那么在不同的頁面之間,如何利用它,進行數(shù)據(jù)的交互呢?

  假設(shè)我們在 A 頁面保存了用戶的信息。

  這樣做,這個數(shù)據(jù)就存在了本地。當在 B 頁面需要使用的時候,可以直接的獲取到數(shù)據(jù)池中的數(shù)據(jù),并進行 CRUD 操作:

  需要注意的是,在 回到 A 頁面的時候,小程序需要重新讀取數(shù)據(jù)。這時候,可以選擇放在生命周期的 onShow中對數(shù)據(jù)重新加載

  父級往子級頁面(模板)的數(shù)據(jù)傳遞

  我們通常會在頁面之間進行跳轉(zhuǎn)、重定向的操作。 這時候,我們可以選擇將部分數(shù)據(jù)放在url里面,并在新頁面 的時候進行初始化。

  在 D 頁面中,我們可以這樣接收到到所傳進來的參數(shù):

  wx.navigateTo和 wx.redirectTo不允許跳轉(zhuǎn)到 tab 所包含的頁面,只能用 wx.switchTab跳轉(zhuǎn)。需要注意的是, wx.switchTab中的 url不能傳參數(shù)。

  微信新提供的 wx.reLaunch接口可以傳入?yún)?shù)。

  另外,在頁面中我們通常會用到一些組件模板,因此在父子之間也會有相應(yīng)的數(shù)據(jù)傳遞。

  使用 name屬性,作為模板的名字。然后在這里面使用 is屬性,聲明需要的使用的模板。

  然后將模板所需要的 data傳入,如:

  傳入模板的除了變量,還可以是事件方法對象。例如,模板中的點擊事件,可以傳遞到使用小程序模板的元素中。

  通過獲取到頁面對象進行數(shù)據(jù)操作

  這個方法的精髓,是通過獲取到其他頁面的對象原型, 然后通過原型方法 setData對當前對象管理的 data進行修改,示例如下:

  當跳轉(zhuǎn)到下一個頁面 F 之后,假定在 F 中有操作需要對 E 中的數(shù)據(jù)有修改,則可以使用以下方法:

  這個方法可以操作頁面堆棧里面的頁面的數(shù)據(jù), 可以做到讓后一級頁面對上級頁面群的數(shù)據(jù)管理。

猜你喜歡:

1.微信小程序分享卡片怎樣定制配圖

2.微信小程序是什么東西

3.微信小程序怎么實現(xiàn)飲食營銷

4.微信小程序主體類型信息如何填

5.微信小程序web開發(fā)工具下載地址

3760794