wx.navigateTo(Object object)
本接口從基礎庫版本 2.2.2 起支持在小程序插件中使用
保留當前頁面,跳轉到應用內的某個頁面。但是不能跳到 tabbar 頁面。使用 wx.navigateBack 可以返回到原頁面。小程序中頁面棧最多十層。
在小程序插件中使用時,只能在當前插件的頁面中調用
1、參數
Object object
屬性 | 類型 | 默認值 | 必填 | 說明 |
---|---|---|---|---|
url | string | 是 | 需要跳轉的應用內非 tabBar 的頁面的路徑 (代碼包路徑), 路徑后可以帶參數。參數與路徑之間使用 ? 分隔,參數鍵與參數值用 = 相連,不同參數用 & 分隔;如 'path?key=value&key2=value2' |
|
events | Object | 否 | 頁面間通信接口,用於監聽被打開頁面發送到當前頁面的數據。基礎庫 2.7.3 開始支持。 | |
success | function | 否 | 接口調用成功的回調函數 | |
fail | function | 否 | 接口調用失敗的回調函數 | |
complete | function | 否 | 接口調用結束的回調函數(調用成功、失敗都會執行) |
2、object.success 回調函數
參數
Object res
屬性 | 類型 | 說明 |
---|---|---|
eventChannel | EventChannel | 和被打開頁面進行通信 |
3、示例代碼
wx.navigateTo({ url: 'test?id=1', events: { // 為指定事件添加一個監聽器,獲取被打開頁面傳送到當前頁面的數據 acceptDataFromOpenedPage: function(data) { console.log(data) }, someEvent: function(data) { console.log(data) } ... }, success: function(res) { // 通過eventChannel向被打開頁面傳送數據 res.eventChannel.emit('acceptDataFromOpenerPage', { data: 'test' }) } })
//test.js Page({ onLoad: function(option){ console.log(option.query) const eventChannel = this.getOpenerEventChannel() eventChannel.emit('acceptDataFromOpenedPage', {data: 'test'}); eventChannel.emit('someEvent', {data: 'test'}); // 監聽acceptDataFromOpenerPage事件,獲取上一頁面通過eventChannel傳送到當前頁面的數據 eventChannel.on('acceptDataFromOpenerPage', function(data) { console.log(data) }) } })