一、四种跳转方式

API路由详解

除了tabBar这种底部跳转的方法,我们还有路由跳转,以下四种方式:

  1. wx.switchTab() :跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面

           url:  tabBar 页面的路径(需在 app.json 的 tabBar 字段定义的页面),路径后不能带参数

  2.wx.reLaunch() :关闭所有页面,打开到应用内的任意页面,可带参

        url: 'path?key=value&key2=value2'

  3.wx.redirectTo() :关闭当前页面,跳转到应用内非 tabBar 页面路径,可带参(会执行onUnload生命周期方法)

        url : 'path?key=value&key2=value2'

  4.wx.navigateTo():保留当前页面,跳转到应用内非 tabBar 页面路径(会执行onHide生命周期方法,生成顶部返回按钮,并且页面堆栈+1)

        url: 'path?key=value&key2=value2'

路由触发详解

路由参数:

四种跳转使用:

1.1wx.switchTab(Object object)

示例代码:

 1) 先做两个tabBar页面

 "tabBar": {
"backgroundColor":"#123",
"color": "#FFFFFF",
"list": [{
"pagePath": "pages/test/test",
"text": "text",
"iconPath": "images/icon1.png",
"selectedIconPath": "images/icon1-active.png"
},
{
"pagePath": "pages/test2/test2",
"text": "text2",
"iconPath": "images/icon2.png",
"selectedIconPath": "images/icon2-active.png"
}]
},

主文件 app.js

 2) test.js  往index页面跳转  /表示根目录

wx.switchTab({
url: '/index'
})

1.2wx.reLaunch(Object object)

wx.redirectTo(Object object) / wx.navigateTo(Object object) 和这个代码一样,注意跳转页面的不同就好了

示例代码

test1.js

wx.reLaunch({
url: 'test2?id=1'
})

test2.js 页面加载会触发

Page({
 onLoad(option) {
   console.log(option.query)
}
})

1.5wx.redirectTo与wx.navigateTo的区别

  1.利用wx.navigateTo跳转到下一个页面的时候(这时候会执行onHide方法),下一个页面会有顶部返回按钮

  2.如果不想有返回按钮,可以用wx.redirectTo进行页面跳转(会执行onUnload生命周期,关闭当前页面跳转,没有页面可以返回)

  3.调用 navigateTo 跳转时,调用该方法的页面会被加入堆栈(保留页面去跳转,页面计数会增加,返回页面时用),而 redirectTo 方法则不会(和2相似)

1.6 wx.navigateBack(Object object)

使用 wx.navigateBack(),关闭当前页面,返回上一页面或多级页面,最多十层。
可通过 getCurrentPages() 获取当前的页面栈,决定需要返回几层

参数:

使用:

示例代码:

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

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

// 在C页面js内 navigateBack,将返回2级到A页面
wx.navigateBack({
delta: 2
})
// 注意:调用 navigateTo 跳转时,调用该方法的页面会被加入堆栈,而 redirectTo 方法则不会

二、在前端跳转方法 见官方文档

navigator 官方API


10 微信小程序路由跳转的更多相关文章

  1. 微信小程序路由跳转

    微信小程序路由跳转 1.wx.switchTab(Object object) 这里的tabBar是底下的导航栏指定的页面, 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面 参数 O ...

  2. 微信小程序 路由跳转 异步请求 存储数据,微信登录接口

    1小程序路由跳转 wx.switchTab(Object object) 这里的tabBar是底下的导航栏指定的页面 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面 tabBar l ...

  3. 微信小程序路由跳转(navigateTo,redirectTo ,switchTab ,reLaunch )

    navigateTo, redirectTo 只能打开非 tabBar 页面. switchTab 只能打开 tabBar 页面. reLaunch 可以打开任意页面. 通过redirect重定向的页 ...

  4. 微信小程序-页面跳转与参数传递

    QQ讨论群:785071190 微信小程序页面跳转方式有很多种,可以像HTML中a标签一样添加标签进行跳转,也可以通过js中方法进行跳转. navigator标签跳转 <view class=& ...

  5. 用python一步一步教你玩微信小程序【跳一跳】

    12月28日,微信上线了小游戏「跳一跳」,瞬间成了全民游戏,如何牢牢占据排行榜的第一位呢?用Python帮助你,Python真的无所不能. 作为技术出身的我们,是不是想用技术改变排名呢? 注意:本文适 ...

  6. 微信小程序页面跳转方法总结

    微信小程序页面跳转目前有以下方法(不全面的欢迎补充): 1. 利用小程序提供的 API 跳转: // 保留当前页面,跳转到应用内的某个页面,使用wx.navigateBack可以返回到原页面.// 注 ...

  7. 微信小程序如何跳转到另一个小程序

    微信小程序如何跳转到另一个小程序,要注意:在app.json文件里也要配置 navigateToMiniProgramAppIdList,如下图: "navigateToMiniProgra ...

  8. 利用python实现微信小程序游戏跳一跳详细教程

    利用python实现微信小程序游戏跳一跳详细教程 1 先安装python 然后再安装pip <a href="http://newmiracle.cn/wp-content/uploa ...

  9. 一个C#程序员学习微信小程序路由的笔记

    路由大家应该都知道,在微信小程序也是有的,毕竟它是单页面应用程序.在WeChat中有五种跳转方式,分别是wx.switchTab.wx.reLaunch.wx.redirectTo.wx.naviga ...

随机推荐

  1. Typora+PicGo+GitHub实现md自带图床效果

    1 GitHub创建作为图床的仓库 1.1 在GitHub中创建一个仓库 注意仓库要是public的,不然上传的图片还是无法使用的.如果不知道怎么创建仓库,可以百度一下. 1.2 在GitHub生成一 ...

  2. 如何在云开发静态托管中使用Jekyll

    如何在云开发静态托管中使用Jekyll 介绍 Jekyll 是一个简单的博客形态的静态站点生产机器,通过它,我们可以搭建一个完整的可发布的静态博客网站. Jekyll 也可以运行在 GitHub Pa ...

  3. Python高级特性-迭代器和生成器

    迭代器 Python中可迭代对象(iterable)通俗指可直接作用与For循环的数据对象,如Python中的集合数据类型,字符串(str),列表(list),元组(tuple),集合(set),字典 ...

  4. Vue-router 第10节 路由中的钩子

    Vue-router 第10节 路由中的钩子 [TOC] 第10节 路由中的钩子 我们知道一个组件从进入到销毁有很多的钩子函数,同样在路由中也设置了钩子函数.路由的钩子选项可以写在路由配置文件中,也可 ...

  5. Python爬虫系列(三):requests高级耍法

    昨天,我们更多的讨论了request的基础API,让我们对它有了基础的认知.学会上一课程,我们已经能写点基本的爬虫了.但是还不够,因为,很多站点是需要登录的,在站点的各个请求之间,是需要保持回话状态的 ...

  6. elasticsearch7.6.2实战(2)-es可视化及分析平台-kibana

    1. 场景描述 elasticsearch部署完成后,es官方提供了可视化.分析及管理平台-kibana,部署下,有需要朋友参考下,不谢! 2. 解决方案 2.1 下载 (1)地址:https://w ...

  7. 使用d3.js的时候,如何用zoom translate scale限制拖拽范围

    红色代表需要改写的代码 1.添加定义图像大小和容器的大小及坐标 d3.behavior.zoom = function () { var moveCanvas={ width: , height: , ...

  8. 谁说 Vim 不好用?送你一个五彩斑斓的编辑器!

    相信大家在使用各种各样强大的 IDE 写代码时都会注意到,代码中各种类型的关键字会用独特的颜色标记出来,然后形成一套语法高亮规则.这样不仅美观,而且方便代码的阅读. 而在上古神器 Vim 中,我们通常 ...

  9. Linux编辑利器-Vim

    在大学时代,Vim 的大名就已如雷贯耳,但由于它陡峭的学习曲线,一直望而却步.等真正开始学习之后,发现并没有想象中的复杂,也没有所谓的瓶颈,只要在实际写代码中强迫自己使用就可以了,无形中就会形成习惯. ...

  10. Unity ML-agents 一、初次尝试

    前言 曾在高二寒假的时候,跟表哥在外面玩,当时他问我有没有想过以后要做什么,我愣了一下,回答不上来.是的,从没想过以后要做什么,只是一直在完成学校.老师安排的任务,于是那之后半年,我一直在思考,大学要 ...