亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

微信小程序 頁面跳轉和數(shù)據(jù)傳遞實例詳解

 更新時間:2017年01月19日 16:51:28   投稿:lqh  
這篇文章主要介紹了微信小程序 頁面跳轉和數(shù)據(jù)傳遞實例詳解的相關資料,這里附有實例代碼幫助到家學習理解,需要的朋友可以參考下

微信小程序 頁面跳轉和數(shù)據(jù)傳遞

1.先導

在Android中,我們Activity和Fragment都有棧的概念在里面,微信小程序頁面也有棧的概念在里面。微信小程序頁面跳轉有四種方式:

1.wx.navigateTo(OBJECT);
2.wx.redirectTo(OBJECT);
3.wx.switchTab(OBJECT);
4.wx.navigateBack(OBJECT)
5.使用實現(xiàn)對應的跳轉功能;

分析:

  1. 其中navigateTo是將原來的頁面保存在頁面棧中,在跳入到下一個頁面的時候目標頁面也進棧,只有在這個情況下點擊手機的返回按鈕才可以跳轉到上一個頁面;
  2. redirectTo和switchTab都是先清除棧中原來的頁面,然后目標頁面進棧,使用這兩種跳轉方式,都不能通過系統(tǒng)的返回鍵回到上一個頁面,而是直接退出小程序;
  3. redirectTo使用的時候一定要配合tabBar或是頁面里面可以再次跳轉按鈕,否則無法回到上一個頁面;
  4. switchTab跳轉的頁面必須是tabBar中聲明的頁面;
  5. tabBar中定義的字段不能超過5個頁面,小程序的頁面棧層次也不能超過5層。
  6. navigateBack只能返回到頁面棧中的指定頁面,一般和navigateTo配合使用。
  7. wx.navigateTo 和 wx.redirectTo 不允許跳轉到 tabbar 頁面,只能用 wx.switchTab 跳轉到 tabbar 頁面

2.頁面跳轉的具體操作

(1)wx.navigateTo(OBJECT)

保留當前頁面,跳轉到應用內的某個頁面,使用wx.navigateBack可以返回到原頁面。

參數(shù) 類型 必填 說明
url String 需要跳轉的應用內非 tabBar 的頁面的路徑 , 路徑后可以帶參數(shù)。參數(shù)與路徑之間使用?分隔,參數(shù)鍵與參數(shù)值用=相連,不同參數(shù)用&分隔;如 ‘path?key=value&key2=value2'
success Function 接口調用成功的回調函數(shù)
fail Function 接口調用失敗的回調函數(shù)
complete Function 接口調用結束的回調函數(shù)(調用成功、失敗都會執(zhí)行)

示例代碼:

wx.navigateTo({
 url: 'test?id=1'//實際路徑要寫全
})
//test.js
Page({
 onLoad: function(option){
 console.log(option.query) 
 }
})

注意:為了不讓用戶在使用小程序時造成困擾,我們規(guī)定頁面路徑只能是五層,請盡量避免多層級的交互方式。

(2)wx.redirectTo(OBJECT)

關閉當前頁面,跳轉到應用內的某個頁面。

參數(shù) 類型 必填 說明
url String 需要跳轉的應用內非 tabBar 的頁面的路徑,路徑后可以帶參數(shù)。參數(shù)與路徑之間使用?分隔,參數(shù)鍵與參數(shù)值用=相連,不同參數(shù)用&分隔;如 ‘path?key=value&key2=value2'
success Function 接口調用成功的回調函數(shù)
fail Function 接口調用失敗的回調函數(shù)
complete Function 接口調用結束的回調函數(shù)(調用成功、失敗都會執(zhí)行)

示例代碼:

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

(3)wx.switchTab(OBJECT)

跳轉到 tabBar 頁面,并關閉其他所有非 tabBar 頁面

OBJECT 參數(shù)說明:

參數(shù) 類型 必填 說明
url String 需要跳轉的 tabBar 頁面的路徑(需在 app.json 的 tabBar 字段定義的頁面),路徑后不能帶參數(shù)
success Function 接口調用成功的回調函數(shù)
fail Function 接口調用失敗的回調函數(shù)
complete Function 接口調用結束的回調函數(shù)(調用成功、失敗都會執(zhí)行)

示例代碼:

{
 "tabBar": {
 "list": [{
  "pagePath": "index",
  "text": "首頁"
 },{
  "pagePath": "other",
  "text": "其他"
 }]
 }
}
wx.switchTab({
 url: '/index'
})

(4)wx.navigateBack(OBJECT)

關閉當前頁面,返回上一頁面或多級頁面??赏ㄟ^ getCurrentPages()) 獲取當前的頁面棧,決定需要返回幾層。

OBJECT 參數(shù)說明:

參數(shù) 類型 必填 說明
delta Number 1 返回的頁面數(shù),如果 delta 大于現(xiàn)有頁面數(shù),則返回到首頁。

示例代碼:

// 注意:調用 navigateTo 跳轉時,調用該方法的頁面會被加入堆棧,而 redirectTo 方法則不會。見下方示例代碼

// 此處是A頁面
wx.navigateTo({
 url: 'B?id=1'
})

// 此處是B頁面
wx.navigateTo({
 url: 'C?id=1'
})
// 在C頁面內 navigateBack,將返回A頁面
wx.navigateBack({
 delta: 2
})

(5)使用<navigator/>標簽實現(xiàn)頁面跳轉

navigator

頁面鏈接。

參數(shù) 類型 必填 說明
url String 應用內的跳轉鏈接
redirect Boolean false 打開方式為頁面重定向,對應 wx.redirectTo(將被廢棄,推薦使用 open-type)
open-type String navigate 可選值 ‘navigate'、'redirect'、'switchTab',對應于wx.navigateTo、wx.redirectTo、wx.switchTab的功能
hover-class String navigator-hover 指定點擊時的樣式類,當hover-class=”none”時,沒有點擊態(tài)效果
hover-start-time Number 50 按住后多久出現(xiàn)點擊態(tài),單位毫秒
hover-stay-time Number 600 手指松開后點擊態(tài)保留時間,單位毫秒

示例代碼:

<navigator url="navigate?title=navigate" hover-class="navigator-hover">跳轉到新頁面</navigator>
 <navigator url="redirect?title=redirect" open-type="redirect" hover-class="other-navigator-hover">在當前頁打開</navigator>
 <navigator url="index" open-type="switchTab" hover-class="other-navigator-hover">切換 Tab</navigator>

3.頁面的路由和生命周期

(1)頁面的路由

在小程序中所有頁面的路由全部由框架進行管理,對于路由的觸發(fā)方式以及頁面生命周期函數(shù)如下:

路由方式 觸發(fā)時機 路由后頁面 路由前頁面
初始化 小程序打開的第一個頁面 onLoad,onShow
打開新頁面 調用 API wx.navigateTo 或使用組件 onLoad,onShow onHide
頁面重定向 調用 API wx.redirectTo 或使用組件 onLoad,onShow onUnload
頁面返回 調用 API wx.navigateBack 或用戶按左上角返回按鈕 onShow onUnload(多層頁面返回每個頁面都會按順序觸發(fā)onUnload)
Tab 切換 調用 API wx.switchTab 或使用組件 或用戶切換 Tab 各種情況請參考下表

Tab 切換對應的生命周期(以 A、B 頁面為 Tabbar 頁面,C 是從 A 頁面打開的頁面,D 頁面是從 C 頁面打開的頁面為例):

當前頁面 路由后頁面 觸發(fā)的生命周期(按順序)
A A Nothing happend
A B A.onHide(), B.onLoad(), B.onShow()
A B(再次打開) A.onHide(), B.onShow()
C A C.onUnload(), A.onShow()
C B C.onUnload(), B.onLoad(), B.onShow()
D B D.onUnload(), C.onUnload(), B.onLoad(), B.onShow()
D(從分享進入) A D.onUnload(), A.onLoad(), A.onShow()
D(從分享進入) B D.onUnload(), B.onLoad(), B.onShow()

4.參數(shù)傳遞

(1)通過路徑傳遞參數(shù)

通過路徑傳遞參數(shù)在wx.navigateTo(OBJECT)、wx.redirectTo(OBJECT)和<navigator/>中使用方法相同
示例代碼:以wx.navigateTo為代表

```
wx.navigateTo({
 url: 'test?id=1'//實際路徑要寫全
})
//test.js
Page({
 onLoad: function(option){
 console.log(option.id) 
 }
})

參數(shù)與路徑之間使用?分隔,參數(shù)鍵與參數(shù)值用=相連,不同參數(shù)用&分隔;

test?id=1 中id為參數(shù)鍵,1 為參數(shù)值

在目的頁面中onLoad()方法中option對象即為參數(shù)對象,可以通過參數(shù)鍵來取出參數(shù)值

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關文章

最新評論