• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >微信小程序 > 微信小程序开发-路由

微信小程序开发-路由

作者:黑猫中校 字体:[增加 减小] 来源:互联网 时间:2017-11-12

黑猫中校通过本文主要向大家介绍了微信小程序等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

我们先看看官网是怎么介绍页面路由的。

 

页面路由

 

在小程序中所有页面的路由全部由框架进行管理。

页面栈

框架以栈的形式维护了当前的所有页面。 当发生路由切换的时候,页面栈的表现如下:

路由方式 页面栈表现
初始化 新页面入栈
打开新页面 新页面入栈
页面重定向 当前页面出栈,新页面入栈
页面返回 页面不断出栈,直到目标返回页,新页面入栈
Tab 切换 页面全部出栈,只留下新的 Tab 页面
重加载 页面全部出栈,只留下新的页面

getCurrentPages()

getCurrentPages() 函数用于获取当前页面栈的实例,以数组形式按栈的顺序给出,第一个元素为首页,最后一个元素为当前页面。

Tip:不要尝试修改页面栈,会导致路由以及页面状态错误。

路由方式

对于路由的触发方式以及页面生命周期函数如下:

路由方式 触发时机 路由前页面 路由后页面
初始化 小程序打开的第一个页面   onLoad, onSHow
打开新页面 调用 API wx.navigateTo 或使用组件 <navigator open-type="navigateTo"/> onHide onLoad, onShow
页面重定向 调用 API wx.redirectTo 或使用组件 <navigator open-type="redirectTo"/> onUnload onLoad, onShow
页面返回 调用 API wx.navigateBack 或使用组件<navigator open-type="navigateBack">或用户按左上角返回按钮 onUnload onShow
Tab 切换 调用 API wx.switchTab 或使用组件 <navigator open-type="switchTab"/> 或用户切换 Tab   各种情况请参考下表
重启动 调用 API wx.reLaunch 或使用组件 <navigator open-type="reLaunch"/> onUnload onLoad, onShow

那么,我们再自己分析下路由。

一、定义

路由:我们通常理解的路由指分组数据包从源到目的地时,决定端到端路径的网络范围的进程;

二、触发路由的情况

    

  1. 小程序启动,初始化第一个页面
  2. 打开新页面,调用 API wx.navigateTo 或使用<navigator />组件
  3. 页面重定向,调用 API wx.redirectTo 或使用<navigator />组件
  4. 页面返回,调用 API wx.navigateBack或用户按左上角返回按钮
  5. tarbar切换

三、小程序中的跳转页面
<navigator url='pages/api/api'>跳转</navigator>
2、使用wx.navigateTo接口跳转,原页面保留 'pages/api/api', url: 'pages/api/api', success:function(){} })
4、用户点击左上角返回按钮,或调用wx.navigateBack接口返回上一页
delta:1 }) delta为1时表示返回上一页,为2时表示上上一页,以此类推;如果dalta大于已打开的页面总数,则返回到首页。返回后,元界面会销毁。 url: 'pages/api/api', success:function(){} }) 6、使用wx.reLaunch接口跳转,关闭所有页面,打开到应用内的某个页面
url: 'pages/api/api', success:function(){} }) 此接口要进行兼容处理,基础库1.1.0开始支持
四、正确使用跳转
tip:官方规定小程序最多只能有五个页面同时存在,意思是在不关闭页面的情况,最多新开五个页面,页面深度为5。

  1. 对于可逆操作,使用wx.navigateTo,比如从首页跳转到二级页面,从二级页面返回是不需要重新渲染首页
  2. 对于不可逆操作,使用wx.redirectTo,比如用户登录成功后,关闭登录页面,不能返回到登录界面。
  3. 对于一些介绍性等不常用页面wx.redirectTo或wx.navigatrBack
  4. 不要在首页使用wx.redirectTo,这样会导致应用无法返回首页
  5. 简化需求、简化流程;核心功能在两三个页面完成便是张小龙追求『小而美』的体现

 

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 2018-11-30微信 小程序前端源码详解及实例分析
  • 2018-11-30微信小程序数据交互与渲染详解及实例
  • 2018-11-30微信小程序中选项卡的简单介绍
  • 2018-11-30微信小程序实现前台循环数据绑定的案例
  • 2018-08-20微信小程序表单组件
  • 2018-11-30微信小程序中的网络请求(post请求和get请求)
  • 2018-11-30微信小程序中数据绑定以及简单的逻辑运算的实现代码
  • 2018-11-30小程序中如何实现分享功能 (代码示例)
  • 2018-11-30微信小程序template模板引用实例详解
  • 2018-11-30微信小程序实现摇一摇抽奖代码分享(图)

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 微信小程点击文字实现页面跳转功能的方法
    • 微信小程序实现头条新闻详情页图文显示功能的实例详解
    • 微信小程序云开发API 查询指令
    • 微信小程序图片选择区域实现裁剪功能方法教程
    • 微信小程序仿 「ONE · 一个」demo代码
    • 关于快速操作使用的教程实例
    • 小程序开发制作tabs选项卡的实例教程
    • 微信小程序实例:实现系统时间、时间戳时间以及时间戳加减的获取代码
    • 微信小程序url与token如何设置
    • 微信小程序云开发服务端数据库API 删除一条记录

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有