由于小程序的5层限制问题,我想在某些navigateTo时判断如果有超过5层的风险,我会先navigateBack几个,再navigateTo到目标页面。
但是问题来了,先看代码:
var pages = getCurrentPages(); var delta = pages.length - index; wx.navigateBack({ delta: delta, complete: function () { console.log( "complete" ); // setTimeout(function () { wx.navigateTo({ url: '/pages/addevent/addevent' }); // }, 700); } }) |
这种写法只有在开发工具中是正常的。但是到了手机上就会有问题,原因是执行了navigateBack后会触发动画,在动画尚未完成的情况下navigateTo无效,所以就有了上面代码里的注释部分setTimeout,但是700ms不是在每台手机都好用。部分手机也是无效的。
我想问的是,动画播放期间navigateTo无效,是刻意而为之,还是一个不小心的写法?