微信小程式點選多次navigator跳轉無反應
阿新 • • 發佈:2018-11-11
今天在弄微信小程式的時候使用到navigator元件實現跳轉出現了一個問題就是我點選我設定的button然後用navigator巢狀進去,當沒點選一次button就可以跳轉到相應的介面,當我重複四次的時候問題出現了,不管我怎麼點選也不會跳轉,最後還是通過百度找到了解決方案。
【程式碼展示】
>起始程式碼
<navigator url="/pages/comment-more/comment-more" open-type="navigate" hover-class="none"> <view class="post_comment_button"> <image src="../../images/icon_comment.png"></image> <text>評論</text> </view> </navigator>
>解決後的程式碼
<navigator url="/pages/comment-more/comment-more" open-type="redirect" hover-class="none"> <view class="post_comment_button"> <image src="../../images/icon_comment.png"></image> <text>評論</text> </view> </navigator>
【解析】
主要屬性
navigator跳轉分為兩個狀態一種是關閉當前頁面一種是不關閉當前頁面。用redirect屬性指定。
>通過這個屬性我可以大概猜測我當時點選四次之後無法跳轉可能是我點選過多之前的頁面並沒有關閉導致系統無法執行當前跳轉,所以我使用redirect關閉當前介面實現跳轉便可以達到目的。
【內容補充】
navigator的open-type屬性 可選值 'navigate'、'redirect'、'switchTab',對應於wx.navigateTo、wx.redirectTo、wx.switchTab的功能
open-type="navigate" 等價於API的 wx.navigateTo 而wx.navigateTo的url是需要跳轉的應用內非 tabBar 的頁面的路徑
open-type="redirect"等價於API的 wx.redirectTo 而wx.redirectTo的url是需要跳轉的應用內非 tabBar 的頁面的路徑
open-type="switchTab"等價於API的 wx.switchTab而wx.switchTab的url是需要跳轉到 tabBar 頁面,並關閉其他所有非 tabBar 頁面
最後一個switchTab事件觸發以後 把前面的頁面都關閉了