今天在弄微信小程序的时候使用到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跳转无反应_ico

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事件触发以后 把前面的页面都关闭了