微笑小程序的几种跳转方式

摘要:
Id=1'})实际效果如下:小程序的左上角有一个返回箭头,可以通过wx.navigateBack方法返回到上一页或返回到原始页。2.宽x。redirectTo关闭当前页面并跳转到应用程序中的页面。类似于窗口。在html中打开;例如:wx。RedirectTo({url:'test?Id=1'})具有以下效果:左上角没有返回箭头,因此无法返回上一页SwitchTab跳转到tabBar页并关闭所有其他非tabBar页,例如:{“tabBar”:{”list“:[{”pagePath“:”index“,”text“:”home page“},{”page Path“:“other”,“text”:”other“}]}wx。switchTabwx。navigationTo和wx。redirectTo不允许跳转到选项卡页面。您只能使用wx。switchTab跳转到选项卡页面4.wx。reLaunch关闭所有页面并将其打开到应用程序中的一个页面。
微信小程序页面跳转 的几种方式

最近在做微信小程序,碰到页面跳转的问题,总结一下页面之间跳转的方式

一、wx.navigateTo(OBJECT)


   这是最普遍的一种跳转方式,其官方解释为:“保留当前页面,跳转到应用内的某个页面”

类似于html中的 window.location.href="http://t.zoukankan.com/ "
eg:

wx.navigateTo({
  url: 'test?id=1'
})
实际效果如下:

微笑小程序的几种跳转方式第1张

小程序中左上角有一个返回箭头,可返回上一个页面

也可以通过方法  wx.navigateBack 返回原页面

二、wx.redirectTo(OBJECT)

关闭当前页面,跳转到应用内的某个页面。
类似于html中的 window.open('你所要跳转的页面');

eg:
wx.redirectTo({
  url: 'test?id=1'
})
效果如下:

微笑小程序的几种跳转方式第2张

左上角没有返回箭头,不能返回上一个页面

三、wx.switchTab(OBJECT)

 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面
eg:
{
  "tabBar": {
    "list": [{
      "pagePath": "index",
      "text": "首页"
    },{
      "pagePath": "other",
      "text": "其他"
    }]
  }
}
wx.switchTab({
  url: '/index'
})
微笑小程序的几种跳转方式第3张

wx.navigateTo 和 wx.redirectTo 不允许跳转到 tabbar 页面,只能用 wx.switchTab 跳转到 tabbar 页面

四、wx.reLaunch(OBJECT)

关闭所有页面,打开到应用内的某个页面。

跟wx.redirectTo 一样左上角不会出现返回箭头,但两者却不完全相同

这里要提到小程序中的  getCurrentPages() 方法

在wx.navigateTo中,每跳转一个新的页面,其原始页面就会被加入堆栈,通过调用wx.navigateBack(OBJECT)可通过获取堆栈中保存的页面 返回上一级或多级页面;

wx.redirectTo,方法则不会被加入堆栈,但仍可通过wx.navigateBack(OBJECT)方法返回之前堆栈中的页面 

wx.reLaunch 方法则会清空当前的堆栈。

eg:

// 此处是A页面
wx.navigateTo({
  url: 'B?id=1'
})

// 此处是B页面
wx.navigateTo({
  url: 'C?id=1'
})

// 在C页面内 navigateBack,将返回b页面
wx.navigateBack({
  delta: 1
})
// 此处是B页面
wx.redirectTo({
url: 'C?id=1'
})
// 在C页面内 navigateBack,则会返回a页面
wx.navigateBack({
delta: 1
})

// 此处是B页面
wx.reLaunch({
 url: 'C?id=1'
})
// 在C页面内 navigateBack,则无效

免责声明:文章转载自《微笑小程序的几种跳转方式》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇【FTP】FTP(文件传输协议)工作原理(SFTP)未能从程序集ESRI.ArcGIS.AddIns.SDK加载任务"ValidateAddInXMLTask"下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

python嵌入C++ boost.python如何在C++中调用含有不定长参数tuple变量和关键字参数dict变量的函数

    这个问题是在我尝试利用pygraphviz嵌入我的C++代码绘制二叉树的时候发现的.找了半天资料,这里我把几种常用的C++调用 PYTHON利用 boost.python 的方法作一个总结,希望能让别人少走弯路,因为有些内容还找不到中文文档,虽然都不难但是开始摸索 还是费时间的.     我个人认为boost.python真的是非常的COOL,基...

脱壳实践之寻找OEP——堆栈平衡法

 0x00 前言   上一篇介绍了壳程序的加载过程以及通过两次内存断点法寻找OEP,这篇我们将利用新的的方法——堆栈平衡法来寻找OEP。 0x01 堆栈平衡法原理   堆栈平衡原理就是利用壳程序在运行前后需要保存和恢复原程序的堆栈环境来实现的。我们可以把壳程序当作一个子程序,调用这个子程序前,肯定需要保存原程序的堆栈环境,子程序调用完毕之后,就需要pop处...

解决小程序弹出层滚动穿透的问题

今天在做小程序的时候,遇到了一个棘手的问题,那就是弹出层的滚动穿透,即弹出层滚动,那么被弹出层覆盖的下面的内容区域也会进行滚动,这一点就很麻烦了。弹出层我是用的view标签然后使用的position:fixed进行的定位;说一下我的解决思路: 一:当弹出层里面无滚动的时候: 可以在遮罩的view标签上定义一个防止事件冒泡的方法: catchtouchmov...

WPF值通用的类型转换器详解(转)

http://www.dxysoft.com/article/html/4005.html 在WPF中应用数据绑定时经常需要做一些简单的逻辑判断。比如ViewModel中有一个HasError(布尔值)的属性表示是否有错误。我需要将它绑定于Button的IsEnable属性上,即:当没有错误时Button可用。 这时就需要将HasError取反。WPF默...

C#装箱和拆箱简介

装箱和拆箱发生在数据类型转换。 先看下装箱和拆箱的概念: 装箱:值类型向引用类型或者值类型转化成它实现的某个接口 拆箱:引用类型向值类型或者接口类型转化成值类型 比如说: int x=5; object o=x; //装箱 y=(int)o; //拆箱 object为引用类型,其他的数据类型int,string,bool等继承于objec...

小程序分包加载

开发者需要将小程序划分成不同的子包,在构建时打包成不同的分包,用户在使用时按需进行加载。 在构建小程序分包项目时,构建会输出一个或多个分包。每个使用分包小程序必须包含 一个主包,所谓的主包,即放置默认启动页/TabBar 页面,以及一些所有分包需要用到 整个小程序所有分包大小不超过 8M单个分包/主包大小不能超2M 对小程序进行分包,可以优化小程序首次启动...