微信小程式頁面跳轉失敗的原因可能是:1:檢查你跳轉的位址是否有誤;2:檢查你要跳轉的地址是否在app.js中註冊過;3:當你跳轉的地址位於TabBar中時,要使用wx.switchTab來跳轉頁。
接下來總結一下跳轉的方法:
1.API跳轉
wx.navigateTo({...})
wx.redirectTo({...})
wx.switchTab({. ..})
wx.reLanch({...})
# (1) wx.navigateTo({. ..})
不會銷毀目前頁面,只是將其hide,使用wx.navigateBack可以回到原始頁面。
注意:當呼叫navigateTo 跳轉時,呼叫此方法的頁面會加入堆疊中
// 关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages() 获取当前的页面栈,决定需要返回几层。 wx.navigateTo({ url: 'page/home/home' // 页面 A }) wx.navigateTo({ url: 'page/detail/detail' // 页面 B }) // 跳转到页面 A wx.navigateBack({ delta: 2 })
(2)wx.redirectTo({...})
關閉目前頁面,跳到應用程式內對應的某個頁面
(3) wx.switchTab({...})
跳到tabBar頁面(在app.json中註冊過的tabBar頁面),同事關閉其他非tabBar頁面
(4) wx.reLanch({...})
關閉所有頁面,開啟到應用程式內的某個頁面。
2.wxml頁面元件跳轉(
// navigator 组件默认的 open-type 为 navigate <navigator url="/page/navigate/navigate" hover-class="navigator-hover">跳转到新页面</navigator> // redirect 对应 API 中的 wx.redirect 方法 <navigator url="../../redirect/redirect/redirect" open-type="redirect" hover-class="other-navigator-hover">在当前页打开</navigator> // switchTab 对应 API 中的 wx.switchTab 方法 <navigator url="/page/index/index" open-type="switchTab" hover-class="other-navigator-hover">切换 Tab</navigator> // reLanch 对应 API 中的 wx.reLanch 方法 <navigator url="../../redirect/redirect/redirect" open-type="redirect" hover-class="other-navigator-hover">关闭所有页面,打开到应用内的某个页面</navigator> // navigateBack 对应 API 中的 wx.navigateBack 方法 <navigator url="/page/index/index" open-type="navigateBack" hover-class="other-navigator-hover">关闭当前页面,返回上一级页面或多级页面</navigator>
相關建議:
以上是技術解答—app微信小程式中的頁面跳轉的詳細內容。更多資訊請關注PHP中文網其他相關文章!