zoukankan      html  css  js  c++  java
  • 微信小程序页面跳转方法总结

    在我们日常的开发过程中,跳转页面是每个项目中必有的需求,包括监听返回按钮,回到指定页面,在小程序中页面跳转即页面路由

    页面栈

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

    clipboard.png

    getCurrentPages()函数用于获取当前页面栈的实例,以数组形式按栈的顺序给出,第一个元素为首页,最后一个元素为当前页面。
    注意:不要尝试修改页面栈,会导致路由以及页面状态错误。

    路由方式

    在小程序中,路由跳转大概两种方式,一种可以利用API跳转,另外一种就是页面组件了,下面详细看下,看看每种跳转方式区别

    1. 利用API跳转
    // 保留当前页面,跳转到应用内的某个页面,使用wx.navigateBack可以返回到原页面。
    // 注意:调用 navigateTo 跳转时,调用该方法的页面会被加入堆栈,但是 redirectTo 
    wx.navigateTo({
      url: 'page/home/home?user_id=1'
    })
    
    
    // 关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages() 获取当前的页面栈,决定需要返回几层。
    
    wx.navigateTo({
      url: 'page/home/home?user_id=1'  // 页面 A
    })
    wx.navigateTo({
      url: 'page/detail/detail?product_id=2'  // 页面 B
    })
    // 跳转到页面 A
    wx.navigateBack({
      delta: 2  //返回指定页面
    })
    
    
    // 关闭当前页面,跳转到应用内的某个页面。
    wx.redirectTo({
      url: 'page/home/home?user_id=111'
    })
    
    
    // 跳转到tabBar页面(在app.json中注册过的tabBar页面),同时关闭其他非tabBar页面。
    wx.switchTab({
      url: 'page/index/index'
    })
    
    
    // 关闭所有页面,打开到应用内的某个页面。
    wx.reLanch({
      url: 'page/home/home?user_id=111'
    })

    2.页面组件跳转

    // redirect 对应 API 中的 wx.redirect 方法
    <navigator url="/page/redirect/redirect?title=redirect" open-type="redirect">在当前页打开</navigator>
    
    // navigator 组件默认的 open-type 为 navigate 
    <navigator url="/page/navigate/navigate?title=navigate">跳转到新页面</navigator>
    
    // switchTab 对应 API 中的 wx.switchTab 方法
    <navigator url="/page/index/index" open-type="switchTab">切换 Tab</navigator>
    
    // reLanch 对应 API 中的 wx.reLanch 方法
    <navigator url="/page/redirect/redirect?title=redirect" open-type="redirect">//关闭所有页面,打开到应用内的某个页面
    
    // navigateBack 对应 API 中的 wx.navigateBack 方法
    <navigator url="/page/index/index" open-type="navigateBack">关闭当前页面,返回上一级页面或多级页面</navigator>

    不全的欢迎补充

    本文转载于猿2048:微信小程序页面跳转方法总结

  • 相关阅读:
    【SR汇总】基于传统方法
    漫展被骗
    SRCNN代码分析
    【SR汇总】效果对比
    【SR汇总】算法时间效率
    根据wsdl文件,Java工程自动生成webservice客户端调用
    Python3 Selenium WebDriver网页的前进、后退、刷新、最大化、获取窗口位置、设置窗口大小、获取页面title、获取网页源码、获取Url等基本操作
    Python3 Selenium自动化-select下拉框
    Python3 ChromeDriver与Chrome版本映射表(更新至v2.43)
    Python3 Selenium自动化测试赋值出现:WebDriverException: Message: unknown error: call function result missing 'value'
  • 原文地址:https://www.cnblogs.com/10manongit/p/12714685.html
Copyright © 2011-2022 走看看