spencer1994 / mpvue-cli

对mpvue官方quick-start的模版的开发基础搭建。
58 stars 9 forks source link

页面来回切换 第一次可以跳转 两次或多次点击之后没反应 #10

Closed doinbean closed 6 years ago

doinbean commented 6 years ago

页面来回诶换点击去往首页2次或多次以上 没反应 页面不跳转 只是增加一个class navigator-hove

spencer1994 commented 6 years ago

@doinbean 我这边没有这种问题,能否贴一下代码我试试?

doinbean commented 6 years ago

就是你点击去首页 然后点击去vue示例页面 然后在点击去首页 在点击去vue示例页面 2次循环之后再点击页面不跳转了 使用wx.navigateTo()也是同样情况

spencer1994 commented 6 years ago

@doinbean 一般来说不会有这种反复进入页面的需求吧,你用一下redirectTo试试?我下午试试看,可能是mpvue或者是小程序的问题。

doinbean commented 6 years ago

电商会有来回跳 并且你这跳了之后去其他页面也不会跳转了 并不是来回两个页面 我试了来回三个页面跳转两次之后也是同样问题 我现在只有就用mpvue 不用router集中写在一起了

spencer1994 commented 6 years ago

@doinbean 来回跳的话是navigateTo和navigateBack吧,不会来回都是To吧,我这个东西只是简单封装了一下mpvue-quickstart而已,没有做其他操作,讲道理不会有这种卡死的情况发生。你能否贴一下你的代码片段?

doinbean commented 6 years ago

我就是用的你的工程 就是在那三个页面路由跳转 log vue示例 首页跳转 <a href="/pages/counter/index" class="home">去往vue goto: function () { console.log('跳转方法') const url = '/pages/index/index' wx.navigateTo({ url }) wx.redirectTo({url}) } 三种写法点击两次之后都会没反应 我打印了 也进入了跳转方法function 后面也是同样情况不跳转 是不是 mpvue-entry 默认hash模式变为了history 具体我也不是很清楚 也没找到原因

spencer1994 commented 6 years ago

@doinbean好的谢谢,我下午试试。晚点给你答复

spencer1994 commented 6 years ago

@doinbean demo的 标签是navigateTo,两个页面切换的时候是 首页-> navigateTo vuex页面 -> navigateTo首页 -> navigateTo vuex页面。这样会卡住的。应该弄成 首页 -> navigateTo vuex页面 -> navigateBack 首页,才对。 这也是我刚才说的,来回切换页面都是navigateTo的话是会有问题的。这样子都是页面进栈会超过10层,小程序的navigateTo是不能超过10层的 image

我把demo改一下吧,免得误导人了。

doinbean commented 6 years ago

我也调查了 这篇博客说微信小程序页面栈只能暂存5个 所以我们可以把一些不需要返回的页面,用wx.redirectTo()来进行跳转,就是相当于打开一个新的栈。我试了原生小程序可以10层 你的工程和mpvue工程只能5层啊 https://blog.csdn.net/LJFPHP/article/details/79240200

spencer1994 commented 6 years ago

@doinbean 你把自己的appid加上去就可以10层了。体验版的话受限,这个是小程序的锅。

doinbean commented 6 years ago

好的 非常感谢解惑 麻烦了