为什么小程序的页面有二次跳转时会瞬间显示一下第一次的页面再跳转呢?
navigateTo redirectTo switchTab tabBar
先来看示例代码并且在微信开发者工具上测试
下面看示例代码共有三个页面,分别是index productshow cart
index的js与wxml
Page({
/*跳转到商品详情*/
toProductshow: function (event) {
//如果这里用navigateTo,跳转到详细页,然后详细页又跳转到购物车页面时,在跳转之前会瞬间显示一下首页,为什么会这样,看下面的说明
wx.navigateTo({
url: '../productshow/productshow?id=8'
})
//所以为了避免上面的问题,这里上面需要使用redirectTo
}
})
<view bindtap="toProductshow">
点击进入详细页面
</view>
productshow的js与wxml
Page({
/*跳转到购物车,注意跳转到tab栏目时需要使用switchTab*/
toCart:function(){
wx.switchTab({
url: '/pages/cart/cart'
});
}
})
<view bindtap="toCart">点击进入购物车</view>
cart的js与wxml
Page({
})
<view>
这里就是购物车了
</view>
下面是app.json的代码
{
"pages": [
"pages/index/index",
"pages/productshow/productshow",
"pages/cart/cart"
],
"tabBar": {
"list": [
{
"pagePath": "pages/index/index",
"iconPath": "imgs/toolbar/index.png",
"selectedIconPath": "imgs/toolbar/index@selected.png",
"text": "主页"
},
{
"pagePath": "pages/cart/cart",
"iconPath": "imgs/toolbar/cart.png",
"selectedIconPath": "imgs/toolbar/cart@selected.png",
"text": "购物车"
}
]
}
}
经过测试发现在index页面点击进入productshow页时,然后再从productshow点击进入cart页面时,会在进入cart页面前瞬间显示一下index页面的内容,然后再进入cart页面?那么为什么会这样?看了开发者文档发现wx.navigateTo的解释是保留当前页面,跳转到应用内的某个页面,所以原因就出现这里,因为navigateTo在跳转之前就保留了index页面,所以会瞬间显示一下index页面的内容,当然这里并不是我们想要的结果,所以只能通过redirectTo来跳转,下面是路由的几个api说明
1、wx.navigateTo
保留当前页面,跳转到应用内的某个页面,使用wx.navigateBack可以返回到原页面。
2、wx.redirectTo
关闭当前页面,跳转到应用内的某个页面。
3、wx.switchTab
跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面
4、wx.navigateBack
关闭当前页面,返回上一页面或多级页面。可通过 [getCurrentPages()] 获取当前的页面栈,决定需要返回几层。
5、wx.reLaunch
关闭所有页面,打开到应用内的某个页面。
为什么小程序的页面有二次跳转时会瞬间显示一下第一次的页面再跳转呢?
所属栏目:建站技术 更新时间:2020-10-30 点击: 次 文章来源:http://www.sznest.net/jzjs/3519.html
【上一篇】:小程序的下单与支付的业务流程
【下一篇】:TP5请求信息与请求参数
相关阅读
-
ping域名找不到主机怎么办?
如果ping域名找不到主机,或者全部是一排英文字母,其中包含cannotfindhost等则表示您的域名解析有问题,一般是域名解析设置错误,或者是本地使用的DNS有异常导致的,这种情况您可以修改您本地DNS后再进行测试下,如果是DNS问题修改后即可正常访问,修改后如果还是不行则需要检查域名解析设置问题。下面是修改本地DNS的步骤:第一:在本地电脑上依次进入控…
了解详情 >>
-
手机访问电脑网时自动跳转代码
4G降临,移动网站已经一发不可收拾,pc端和移动端官网并存。如何让别人访问你的pc端的官网直接跳转到移动端的网站呢?各位看官,小二上代码!来了!varurl=window.location.href;varurl_match=/vit=1$/i;if(!url.match(url_match)){if(navigator.userAgent.match(/(…
了解详情 >>
-
删除bom标签或者bom头的php代码
有时程序的逻辑代码完全没有一问题,但是就是运行的时候出错,如果出现这种情况,那么有可能就是文件中包含了bom头所导致的,下面给出了php去除bom头的源代码,只要把下面的代码放到一个php的文件中,并且改好目录,然后运行那个文件就可以了//此文件用于快速测试UTF8编码的文件是不是加了BOM,并可自动移除=".";//修改此行为需要检测的…
了解详情 >>
-
DOS命令批量获取文件夹内的名称及批量修改文件夹内名称
批量提取文件夹内文件名一:在文件夹内新建一个文本文件,名称随便起,这里为了演示,暂时起名叫!!!.TXT,放入下面的内容,!!!!!!.TXT这个是被生成的文件,用于存放文件夹内所有的文件名用的DIR*.*/B>!!!!!!.TXT二:将!!!.TXT文件名的后缀改成.bat,然后双击运行,生成了!!!!!!.TXT文件三:打开!!!!!!.TXT文件…
了解详情 >>
-
过滤所有标点符号的函数详解
为了避免用户输入的一些特殊标点对数据查询造成干扰,所以对特殊的标点符号的过滤是很有必要,下面是过滤所有标点符号这个函数的详细说明所有的标点符号~|`|!|@|#|$|%|^|&|'|*|(|)|+||||=|-|_|[|]|}|{|;|"|:|?|>|<|,|.|/|��|��|��|��|��|��|}|��|��|�…
了解详情 >>
-
跳转关系与规则不符要怎么办?
为了能够把这个问题解释清楚,这里我用实例来给大家分析一下跳转关系与规则不符的这个问题,一:先来看一下我的新旧url新旧url链接文件:gaiban.txt中的内容域名/productshow.php?id=29域名/sbzsshow.php?id=29域名/productshow.php?id=2域名/cpzsshow.php?id=78二:再来看一下pro…
了解详情 >>