微信小程序跳转函数总结

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

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. kvm虚拟机日常管理与配置

    1.  查看KVM虚拟机配置文件及运行状态 (1) KVM虚拟机默认配置文件位置: /etc/libvirt/qemu/ autostart目录是配置kvm虚拟机开机自启动目录.    (2) vir ...

  2. Linux ip Command

    Syntax ip OBJECT COMMAND ip [options] OBJECT COMMAND ip OBJECT help Understanding ip command OBJECTS ...

  3. ipxe(可选):winboot:网络引导(启动)wim格式的windows PE系统:配置文件写法

    ipxe 无盘[网络]引导wim格式的pe系统 wimboot引导程序需要为其提供4个内核参数 bcd bootmgr boot.sdi boot.wim 所需文件附件 以下是我的可用的ipxe的配置 ...

  4. redis集群cluster简单设置

    环境: 这里参考官方使用一台服务器:Centos 7  redis-5.0.4    192.168.10.10 redis集群cluster最少要3个主节点,所以本次需要创建6个实例:3个主节点,3 ...

  5. SpringBoot2.0整合fastjson的正确姿势

            SpringBoot2.0如何集成fastjson?在网上查了一堆资料,但是各文章的说法不一,有些还是错的,可能只是简单测试一下就认为ok了,最后有没生效都不知道.恰逢公司项目需要将J ...

  6. elasticsearch 安装 可视化工具

    一.windows下安装Elasticsearch首先计算机需要JAVA环境(已有次此环境跳过)1.java环境安装网址:http://www.oracle.com/technetwork/java/ ...

  7. 生成Uuid工具类

    package com.freeter.util; import java.util.UUID; /** * @author liuqi * **/public class Uuid{ public ...

  8. K8S 上搭建 Redis

    根据需求搭建一个不需要数据持久化,需要密码登录的 Redis mkdir /iba/qa_ibaboss_elk -p cd /iba/qa_ibaboss_elk # 创建一个专用的 namespa ...

  9. Linux操作系统的压缩、解压缩工具介绍

    Linux操作系统的压缩.解压缩工具介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.compress/uncompress命令常用参数 Linux compress命令: ...

  10. computer networking ---------DNS

    [DNS]domain named system 域名解析系统,即相当于对www.baidu.com的类似的域名进行解析,对于人而言,记忆一些域名相比于记忆一些Ip地址来说简单的多,而对于计算机而言, ...