iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >浅谈uniapp页面跳转的解决方案
  • 737
分享到

浅谈uniapp页面跳转的解决方案

2024-04-02 19:04:59 737人浏览 安东尼
摘要

目录1.uniapp常用跳转api2.微信小程序页面跳转API3.其他页面跳转回tabbar页面的方法4.页面来回跳转保持数据的方法正常的页面跳转的api大家应该都清楚,但是涉及到多

正常的页面跳转的api大家应该都清楚,但是涉及到多页面来回跳转以及返回到导航页的时候就需要一些技巧来进行处理,之前找了挺多文章也没有很详细的介绍,本文就详细说说页面跳转的那些事。

1.uniapp常用跳转API

API作用
uni.navigateTo保留当前页面,跳转到应用内的某个页面,使用uni.navigateBack可以返回到原页面。
uni.redirectTo关闭当前页面,跳转到应用内的某个页面。
uni.reLaunch关闭所有页面,打开到应用内的某个页面。
uni.switchTab跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面。
uni.navigateBack关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages() 获取当前的页面栈,决定需要返回几层。

2.微信小程序页面跳转API

API作用
wx.navigateTo保留当前页面,跳转到应用内的某个页面。
wx.redirectTo关闭当前页面,跳转到应用内的某个页面。
wx.reLaunch关闭所有页面,打开到应用内的某个页面。
uni.switchTab跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面。使用其他跳转 API 来跳转到 tabbar会跳转失败。
wx.navigateBack关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages() 获取当前的页面栈,决定需要返回几层。

3.其他页面跳转回tabbar页面的方法

以这个小程序举例,在这个页面可以看到通过点击这些跳转后的页面返回时都得返回现在这个页面。

以入库记录为例,进去后又有很多的跳转,比如点击某条记录跳转到了详情页,其中点击了编辑又跳转到了另一个编辑页面,编辑完成后肯定得跳转回这个页面,这时候问题来了,直接返回的话就不是跳转回我们想要的tabbar页面了,因为栈中还存在其他的页面,需要一层层的出栈。可能有人会说可以使用navigateBack,使用这个是可以跳回来,但是无法刷新页面,还得在onShow生命周期再发起一次请求。而且需要自己算跳几次也比较麻烦。这时候我们就可以使用这个生命周期onBackPress

我们通过清空页面栈并且跳转回tabbar来达到我们想要的效果,这个最后的return true非常关键,如果不写就达不到跳转到我们想要的页面的效果。当然使用这个生命周期不是只能跳回到tabbar页面,这个生命周期是监听返回的事件,我们也可以跳转到其他的页面,只需要把switchTab换成redirectTo即可。

onBackPress() {
        uni.switchTab({
                url: '/pages/manage/manage'
        })
        return true
},

这个生命周期是有参数传进入来的,我们可以避免掉通过navigateBack跳过来的页面,否则容易出问题

onBackPress(options) {
    if (options.from === 'navigateBack') { 
        return false    
    } 
    uni.redirectTo({ url: '/page/index' }) 
    return true
},

然而这个生命周期只适用APP,H5和支付宝小程序,微信小程序是不支持这个api的,这时候我们就得专门对微信小程序做处理。onUnload生命周期是所有端都通用的,我们只需要在页面卸载时调用微信原生的跳转到tabbar的api即可实现我们的效果,这样就可以多端都保持一致。

onUnload() {
        //#ifdef MP-WEIXIN
        wx.switchTab ({
                url: '/pages/manage/manage'
        })
        //#endif
},

4.页面来回跳转保持数据的方法

一个页面跳转到另一个页面拿到数据后回到原先页面数据还需要维持原先的样子怎么来处理,这个时候就需要navigateBackgetCurrentPages结合起来了使用了。

举个例子,我希望在填写完入库日期备注后通过点击手动跳转到物资选择页面来去选择对应的物资进行入库,这时候如果通过常规的跳转的方式再次回到原先页面,那么之前填写的日期备注等数据就已经重置了,这并不是我们所期望的。

我们跳转到物资选择页面可以使用navigateTo

uni.navigateTo({
    url: item.url,
})

在物资选择页面通过获取页面栈实例的方式拿到上一个页面,当我们选择完毕后将数据保存到原先页面定义的data中去,最后通过navigateBack回到上一个页面,那么上一个页面之前填写的内容和现在选择完后的内容就都有了。

    // 获取当前页面栈的实例,以数组形式按栈的顺序给出,第一个元素为首页,最后一个元素为当前页面。
    const pages = getCurrentPages() 
    const prevPage = pages[pages.length - 2] //上一个页面
    //#ifdef H5
    prevPage._data.selectData = this.selectMaterial
    //#endif
    //小程序中的修改方法
    // #ifndef H5
    prevPage.$vm._data.selectData = this.selectMaterial
    //#endif
    uni.navigateBack() //返回上一页面

本人也是刚接触uniapp不久,写的有问题的地方还望各位大佬指出,本文只是当自身的踩坑记录。如果对各位有帮助再好不过。

到此这篇关于浅谈uniapp页面跳转的解决方案的文章就介绍到这了,更多相关uniapp页面跳转内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 浅谈uniapp页面跳转的解决方案

本文链接: https://www.lsjlt.com/news/148103.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 浅谈uniapp页面跳转的解决方案
    目录1.uniapp常用跳转API2.微信小程序页面跳转API3.其他页面跳转回tabbar页面的方法4.页面来回跳转保持数据的方法正常的页面跳转的api大家应该都清楚,但是涉及到多...
    99+
    2024-04-02
  • 浅析UniApp跳转到其他页面的方法
    UniApp是一款由DCloud推出的一款基于Vue.js框架的开发工具,它可以实现一次编写,多端运行的效果。开发者可以使用UniApp快速地构建出一个跨平台的应用程序。在UniApp开发过程中,经常需要实现页面之间的跳转。本文将介绍Uni...
    99+
    2023-05-14
  • 浅谈Springmvc中的页面跳转问题
    SpringMvc跳转问题SpringMvc的Controller每次处理完数据后都会返回一个逻辑视图(view)和模型(model)所以我们会看到原生的Controller是返回一个ModelAndView(内部包含了view和model...
    99+
    2023-05-30
    springmvc 跳转页面 sprin
  • 谈谈HTML页面跳转代码的各种方法
    HTML页面跳转代码是Web开发中非常重要的一部分。当用户点击一个链接或者按钮时,需要调用相关代码进行跳转,以便将用户引导到正确的页面。在本文中,我们将为您介绍HTML页面跳转代码的各种方法。一、使用超链接进行页面跳转最基本的跳转方式就是使...
    99+
    2023-05-14
  • Vue路由this.route.push跳转页面不刷新的解决方案
    Vue路由this.route.push跳转页面不刷新 一、背景 介绍:在vue项目开发中,使用路由进行页面跳转时,路由所跳转的页面不进行刷新。 也就是vue生命周期函数没有执行(c...
    99+
    2024-04-02
  • uniapp页面带参数跳转不刷新怎么解决
    在使用uniapp开发项目时,我们经常会遇到需要传递参数并跳转下一个页面的场景。然而,在遇到需要刷新页面的情况时,一些开发者却发现页面并没有按照预期的进行刷新。这个问题出现的原因在于uniapp的页面跳转机制,以及页面的组件更新机制。针对这...
    99+
    2023-05-14
  • 详解uniapp页面跳转URL传参大坑
    案例 展示电影详情,传递电影的id.从search.vue传递到movie.vue methods: { showMovie(e){ var trailerid = e.cur...
    99+
    2024-04-02
  • 浅谈Vue单页面做SEO的四种方案
    目录1.Nuxt 服务端渲染应用部署 (SSR服务器渲染) 优势: 不足:(开发中遇到的坑) 2.Nuxt 静态应用部署 优势:不足: 3.预渲染prerender-spa-plug...
    99+
    2024-04-02
  • 详细介绍UniApp页面跳转传值的方法
    近年来,随着移动互联网技术的发展和移动设备的普及,开发APP已经成为了一种时髦和高效的方式来扩展业务。而UniApp作为一款跨平台开发工具,在应用开发过程中具有很强的便捷性和高效性。然而,对于在开发UniApp应用中涉及到的页面跳转和参数传...
    99+
    2023-05-14
  • php跳转页面失败的解决方法
    这篇文章主要介绍了php跳转页面失败的解决方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。php跳转页面失败的解决办法:1、取消location和“:”符号之间的空格;2、...
    99+
    2023-06-14
  • 浅谈Mysql大数据分页查询解决方案
    目录1.简介2.分页插件使用3.sql测试与分析3.1 limit现象分析3.2 解决之道4 测试时走过的坑4.1 百万数据内容都一样4.2 写sql时,把"77"...
    99+
    2024-04-02
  • react 跳转后路由变了页面没刷新的解决方案
    目录问题解决方案问题 这样的问题貌似原因还挺多的,我的问题是带参数的url不能刷新,router 5.0版本 ,使用withRouter关联组件进行页面跳转 如下所示 路由代码...
    99+
    2024-04-02
  • JQuery.get提交页面不跳转的解决方法
    本篇内容介绍了“JQuery.get提交页面不跳转的解决方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!<%@ Page Title...
    99+
    2023-06-04
  • PyQt5页面跳转问题及解决方式
    目录问题1:如何实现页面间跳转问题2:实现定义函数传参功能问题3:sumodify() takes 2 positional arguments but 3 were given问题...
    99+
    2023-01-06
    PyQt5页面跳转 PyQt5 界面跳转
  • php中跳转页面出现forbidden的解决方法
    这篇文章主要为大家展示了“php中跳转页面出现forbidden的解决方法”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“php中跳转页面出现forbidden的解决方法”这篇文章吧。php跳转页...
    99+
    2023-06-15
  • PHP登录页面跳转问题解决方法
    在Web开发中,登录页面跳转是一个常见的问题,特别是在使用PHP来实现用户登录功能时。在用户输入用户名和密码后,成功登录后应该跳转到另一个页面,例如用户的个人主页。在本文中,我们将讨论...
    99+
    2024-03-15
    php 登录 跳转
  • 浅谈Redis缓存雪崩解决方案
    目录1.保持缓存层的高可用2.限流降级组件3.缓存不过期4.优化缓存过期时间5.使用互斥锁重建缓存6.异步重建缓存缓存层承载着大量的请求,有效保护了存储层。但是如果由于大量缓存失效或...
    99+
    2024-04-02
  • form表单只提交数据而不进行页面跳转的解决方案
    一般的form提交操作写法为 复制代码 代码如下: <form action="saveReport.htm" method="post"> …… <input t...
    99+
    2022-11-15
    form表单 提交数据 页面跳转
  • php怎么设置跳转页面?多种方法浅析
    PHP是一种流行的服务器端编程语言,常常被用来开发Web应用程序。PHP提供了很多功能,比如处理表单数据、连接数据库、生成HTML,还有许多其他的功能。其中一个非常常见的功能就是跳转页面。在Web开发中,跳转页面是非常重要的一部分。当用户完...
    99+
    2023-05-14
    php
  • 使用javascript实现页面跳转的案例
    这篇文章主要介绍使用javascript实现页面跳转的案例,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!js页面跳转方法:1、使用“location.href="URL"”;2、使用“locati...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作