首頁 > 軟體

Android開發微信小程式路由跳轉方式

2022-04-12 19:00:23

官方檔案

https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.switchTab.html

路由跳轉的兩種形式

標籤形式

 <navigator url="/pages/test/test" open-type="switchTab" >跳轉到新頁面</navigator>

通過open-type來選擇和上面一樣的跳轉方式

js形式

# wxml檔案
<button bind:tap="tiao">跳轉</button>
# js檔案
tiao1:function(){
    wx.reLaunch({
      url: '/pages/test/test',
    })
  },  

快速總結

# wxml檔案
<button bind:tap="tiao">跳轉</button>
# js檔案
tiao1:function(){
    wx.reLaunch({
      url: '/pages/test/test',
    })
  },    
// 只能跳轉到tabBar頁面,不能跳轉到非tabBar頁面,並且關閉
    //所有非tabBar頁面,url不能攜帶引數
     wx.switchTab({
      url: '/pages/test/test',
     })
  //關閉所有的頁面,開啟應用內的某個頁面,他的url可以攜帶引數
  //在跳轉頁面的onload生命週期函數中去接收
     wx.reLaunch({
        url: '/pages/test1/test1?name=123;age=18',
      })
    //關閉當前頁面,跳轉到應用內的某個頁面,但是不允許跳轉到
    //tabbar頁面,他的路由也是可以攜帶引數的
    wx.redirectTo({
    	url: '/pages/test1/test1?name='+this.data.name1+';age=17',
     })
    //保留當前頁面,跳轉到應用內的某個頁面,但是不能跳轉到
    //tabbar,可以使用wx.navigateBack返回到原來的頁面,
    //他的url也可以帶引數,小程式中頁面最多棧10層
    wx.navigateTo({
      url: '/pages/test1/test1?name=333',
    })
  //delat表示回退多少層
  wx.navigateBack({
     delta:1
   })

小程式路由跳轉

1.1 wx.switchTab(Object object)

這裡的tabBar是底下的導航欄指定的頁面,

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

引數

Object object

屬性型別預設值必填說明
urlstring 需要跳轉的 tabBar 頁面的路徑(需在 app.json 的tabBar欄位定義的頁面),路徑後不能帶引數。
successfunction 介面呼叫成功的回撥函數
failfunction 介面呼叫失敗的回撥函數
completefunction 介面呼叫結束的回撥函數(呼叫成功、失敗都會執行)

範例程式碼

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

1.2 wx.reLaunch(Object object)

基礎庫 1.1.0 開始支援,低版本需做相容處理

關閉所有頁面,開啟到應用內的某個頁面

引數

Object object

屬性型別預設值必填說明
urlstring 需要跳轉的應用內頁面路徑,路徑後可以帶引數。引數與路徑之間使用?分隔,引數鍵與引數值用=相連,不同引數用;分隔;如 'path?key=value;key2=value2'
successfunction 介面呼叫成功的回撥函數
failfunction 介面呼叫失敗的回撥函數
completefunction 介面呼叫結束的回撥函數(呼叫成功、失敗都會執行)

範例程式碼

wx.reLaunch({
  url: 'test?id=1'
})
// test Page({ onLoad (option) { console.log(option.query) } })

1.3 wx.redirectTo(Object object)

關閉當前頁面,跳轉到應用內的某個頁面。但是不允許跳轉到 tabbar 頁面。

引數

Object object

屬性型別預設值必填說明
urlstring 需要跳轉的應用內非 tabBar 的頁面的路徑, 路徑後可以帶引數。引數與路徑之間使用?分隔,引數鍵與引數值用=相連,不同引數用;分隔;如 'path?key=value;key2=value2'
successfunction 介面呼叫成功的回撥函數
failfunction 介面呼叫失敗的回撥函數
completefunction 介面呼叫結束的回撥函數(呼叫成功、失敗都會執行)

範例程式碼

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

1.4 wx.navigateTo(Object object)

保留當前頁面,跳轉到應用內的某個頁面。但是不能跳到 tabbar 頁面。使用wx.navigateBack可以返回到原頁面。小程式中頁面棧最多十層。

引數

Object object

屬性型別預設值必填說明
urlstring 需要跳轉的應用內非 tabBar 的頁面的路徑, 路徑後可以帶引數。引數與路徑之間使用?分隔,引數鍵與引數值用=相連,不同引數用;分隔;如 'path?key=value;key2=value2'
successfunction 介面呼叫成功的回撥函數
failfunction 介面呼叫失敗的回撥函數
completefunction 介面呼叫結束的回撥函數(呼叫成功、失敗都會執行)

範例程式碼

wx.navigateTo({
  url: 'test?id=1'
})
// test.js
Page({
  onLoad(option) {
    console.log(option.query)
  }
})

1.5 wx.redirectTo與wx.navigateTo的區別

1.利用wx.navigateTo跳轉到下一個頁面的時候(這時候會執行onHide方法),下一個頁面頭部會有返回按鈕

2.如果不想有返回按鈕,可以用wx.redirectTo進行頁面跳轉(這時候關閉此頁面,會執行onUnload生命週期,這樣下一個頁面就不會有返回按鈕了,因為上一個頁面已經被關閉了,沒有頁面可以返回)

1.6 wx.navigateBack(Object object)

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

引數

Object object

屬性型別預設值必填說明
deltanumber 返回的頁面數,如果 delta 大於現有頁面數,則返回到首頁。
successfunction 介面呼叫成功的回撥函數
failfunction 介面呼叫失敗的回撥函數
completefunction 介面呼叫結束的回撥函數(呼叫成功、失敗都會執行)

範例程式碼

// 注意:呼叫 navigateTo 跳轉時,呼叫該方法的頁面會被加入堆疊,而 redirectTo 方法則不會。見下方範例程式碼
// 此處是A頁面
wx.navigateTo({
  url: 'B?id=1'
})
// 此處是B頁面
wx.navigateTo({
  url: 'C?id=1'
})
// 在C頁面內 navigateBack,將返回A頁面
wx.navigateBack({
  delta: 2
})

以上就是Android開發微信小程式路由跳轉方式的詳細內容,更多關於Android開發小程式路由跳轉 的資料請關注it145.com其它相關文章!


IT145.com E-mail:sddin#qq.com