常用API-路由-wx.navigateTo(Object object)-保留當前頁面,跳轉到應用內的某個頁面


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)
    })
  }
})

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM