微信小程序跳转函数总结

​ 笔者在微信小程序前端的开发过程中,在不同的情况下遇到了需要使用不同的页面跳转逻辑的情况,以下是我对这些函数的使用场景的一个总结介绍。

wx.navigateTo

这是最常用也是最基本的一个页面跳转函数,该函数跳转之前会先保留当前页面指针,然后跳转到目标页面。因此使用该跳转函数跳转到的页面也都可以回退到上一个页面。示例如下:

//保留当前页面,跳转到指定页面
wx.navigateTo({
url: 'page/des/des' // 目的页面url
})

wx.redictTo

上面提到,利用wx.navigateTo跳转到的页面均可以返回的上机页面,当我们不希望用户在跳转以后再次返回到当前页面,那么我们就需要在跳转前把当前的页面给关闭掉,wx.redictTo则实现了这个功能,通过该函数进行跳转到的目的页面,将无法返回到它的父级页面。(注意:如果目的页面父级页面是由它父级页面通过wx.navigateTo跳转而来的话,那么目的页面返回上一层的话,将会返回到其父级页面的父级页面。)代码示例如下:

// 关闭当前页面,跳转到目的页面
wx.redirectTo({
url: 'page/des/des' //目的页面url
})

wx.reLanch

wx.redictTo只能关闭当前层的页面,如果我们需要在跳转时关闭其所有父级的页面话,就需要从父级到当前,每一级的跳转都用wx.redictTo。而且如果我们只希望在当前层关闭所有页面,那么仅仅使用wx.redictTo就会很不方便,wx.reLanch及实现了关闭所有页面以后的跳转功能,代码示例如下:

// 关闭所有页面,跳转到目的页面
wx.reLanch({
url: 'page/home/home' //目的页面url
})

wx.navigateBack

该函数为页面回退函数,我们在实际使用的过程中不仅仅是需要跳转到新的页面,当用户完成一些操作以后我们可能需要自动返回到上级页面来增加用户的体验。navigateBack与navigateTo相对应,即利用navigateTo保存的页面指针来实现跳转操作。具体示例如下:

//假设我们从页面A 跳转到页面B 在跳转到页面C.

wx.navigateTo({
url: 'page/A/A  // 页面 A
})
wx.navigateTo({
url: 'page/B/B'  // 页面 B
})
wx.navigateTo({
url: 'page/C/C'  // 页面 C
})
//接下来进行回退
//delta 返回的页面数,如果 delta 大于现有页面数,则返回到首页。
//如果想回退到页面A,则delta 为 3 即返回三个页面
wx.navigateBack({
delta: 2
})

文章参考

微信小程序跳转函数总结的更多相关文章

  1. 两百条微信小程序跳坑指南(不定时更新)

    微信小程序联盟出品 跳坑textarea<二百二十三>不显示文本及textarea相关问题集合跳坑<二百一十三> background-image无法获取本地资源图片....跳 ...

  2. 微信小程序之回调函数

    在微信小程序中众所周知在js里面得方法都是异步执行,我最近再做项目得时候也遇到了这个问题,再方法里面调用另一个方法里面的接口数据,第一次是调取不到的, 因为两个方法是同时开始执行得,所以怎么都取不到值 ...

  3. 微信小程序跳到h5,h5在跳回小程序

    1.在微信小程序后台: 设置->开发设置->业务域名: 添加业务逻辑域名 2.在html5页面添加如下代码: <! -- html --> < script type=& ...

  4. 手把手教你玩微信小程序跳一跳

    最近微信小程序火的半边天都红了,虽然不会写,但是至少也可以仿照网上大神开发外挂吧!下面手把手教妹纸们(汉纸们请自觉的眼观耳听)怎么愉快的在微信小游戏中获得高分. 废话不多说,咱们这就发车了!呸!咱们这 ...

  5. 微信小程序跳转以及跳转的坑

    一.首先小程序的跳转方法有一下几种 js控制跳转 // 保留当前页面,跳转到应用内的某个页面 wx.navigateTo({ url: '../blueberry/blueberry' }); // ...

  6. 微信小程序跳转页面时参数过长导致参数丢失

    问题描述: 微信小程序:跳转页面时传参,参数过长导致参数丢失 跳转到文章详情页时,使用的文章链接e.currentTarget.dataset.id过长导致参数丢失 handleClickArticl ...

  7. 微信小程序跳转web-vie时提示appId无法读取:Cannot read property 'appId' of undefined

    微信小程序报web-view错无法读取appId:Cannot read property 'appId' of undefined 问题描述: 我以前一直如下写代码没报错也都是可以使用的,并且小程序 ...

  8. 微信小程序之使用函数防抖与函数节流

    函数防抖和函数节流都是老生常谈的问题了.这两种方式都能优化 js 的性能.有些人可能会搞混两个的概念.所以,我以自己的理解,来解释这两个概念的含义.并且列举在小程序中这两个方法的使用. 函数防抖: 英 ...

  9. 微信小程序跳转小程序

    <navigator target="miniProgram" open-type="navigate" app-id="{{BappId}}& ...

随机推荐

  1. nginx配置ssl证书实现https

    一,环境说明 服务器系统:centos6 服务器IP地址:0.0.0.0 域名:bjubi.com 二,域名解析到服务器 在阿里云控制台-产品与服务-云解析DNS-找到需要解析的域名点“解析”,进入解 ...

  2. P2352 队爷的新书(差分)

    题目 P2352 队爷的新书 解析 题目意思是 给你n个区间,选择一个数x,使\(x\times覆盖x的区间个数\) 最大 和这个题差不多 差分,离散化一下,在区间的\(l\)处\(+1\),\(r+ ...

  3. vue-cli随机生成port源码

    const portfinder = require('portfinder'): const port = await portfinder.getPortPromise(): 两行代码 端口搜索范 ...

  4. 尝试在Mac/iOS上使用tcmalloc库

    概述        TCMalloc 是 Google 开发的内存分配器,在不少项目中都有使用,例如在 Golang 中就使用了类似的算法进行内存分配.它具有现代化内存分配器的基本特征:对抗内存碎片. ...

  5. nginx配置不当容易产生的安全问题

    nginx一般用于做外网代理,配置也比较方便,但是配置不当的时候会产生一些安全问题.其中包括各个大厂也都出现过. intra server ->  proxy -> nginx 一般正常的 ...

  6. Chrome headless三种安装方法

    在使用chrome headless的时候,使用安装源有很多的依赖问题,提供三种方法,最简单的是使用一键安装脚本. 1.添加chrome源来安装chrome 添加源: ## 添加:vim /etc/y ...

  7. SPL06-001 气压计

    歌尔是全球领先的MEMS厂家,最新推出新款气压传感器SPL06-001,定位精度可达5cm 手册地址 https://download.csdn.net/download/zhangxuechao_/ ...

  8. INS-35178错误,AMM及ASMM区别

    遇到这个报错,就使用asmm 一般先装库,再opatch到最新补丁,最后dbca建库,物理内存大于4G不能用AMM只能用ASMM 内存越大,全自动管理就越费劲,出错概率就越高,内存抖动 oracle的 ...

  9. 维护中常用的k8s和docker命令

    kubernet命令 查看所有pod的信息: kubectl get pod --all-namespaces -o wide 查看命名为kube-system的pod kubectl get pod ...

  10. 使用Deployment控制器创建Pods并使Service发布到外网可访问

    由于NFS支持节点共同读取及写入,所以可使用Deployment控制器创建多个Pod,并且每一个Pod都共享同一个目录 k8s-master kubnet@hadoop2 volumes]$ vim ...