• uniapp 路由与页面跳转


    目录

    uni.navigateTo(OBJECT)

    代码演示

    运行效果

    uni.navigateBack(OBJECT)

    运行效果

    uni.switchTab(OBJECT)

    代码演示

    运行效果


    uni.navigateTo(OBJECT)

    保留当前页面,跳转到应用内的某个页面,使用uni.navigateBack可以返回到原页面。

    详情官网

    OBJECT参数说明

    参数类型必填默认值说明平台差异说明
    urlString需要跳转的应用内非 tabBar 的页面的路径 , 路径后可以带参数。参数与路径之间使用?分隔,参数键与参数值用=相连,不同参数用&分隔;如 'path?key=value&key2=value2',path为下一个页面的路径,下一个页面的onLoad函数可得到传递的参数

    代码演示

    index.vue

    1. <template>
    2. <view class="container">
    3. <uni-tag text="跳转" @click="toDetails('数据')" type="primary" circle="true" >uni-tag>
    4. view>
    5. template>
    6. <script setup>
    7. const toDetails=(data)=>{
    8. //在起始页面跳转到details.vue页面并传递参数
    9. uni.navigateTo({
    10. url: "../details/details?data="+data
    11. });
    12. }
    13. script>
    14. <style lang="scss">
    15. .container {
    16. padding: 20px;
    17. font-size: 14px;
    18. line-height: 24px;
    19. }
    20. style>

    details.vue

    1. <template>
    2. <view>
    3. <h2>商品详情h2>
    4. view>
    5. template>
    6. <script setup>
    7. import {onLoad} from '@dcloudio/uni-app';
    8. //接收获取参数
    9. onLoad((data)=>{
    10. console.log(data);
    11. })
    12. script>
    13. <style>
    14. style>

    运行效果

     

    uni.navigateBack(OBJECT)

    关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages() 获取当前的页面栈,决定需要返回几层。

    详情官网

    OBJECT参数说明

    参数类型必填默认值说明平台差异说明
    deltaNumber1返回的页面数,如果 delta 大于现有页面数,则返回到首页。
    animationTypeStringpop-out窗口关闭的动画效果,详见:窗口动画App
    animationDurationNumber300窗口关闭动画的持续时间,单位为 msApp

    代码演示

    1. <template>
    2. <view>
    3. <h2>商品详情h2>
    4. <view class="btn">
    5. <button type="primary" @click="toBack">返回上一页button>
    6. view>
    7. view>
    8. template>
    9. <script setup>
    10. const toBack = () => {
    11. uni.navigateBack({
    12. delta: 1,
    13. animationType: 'pop-out',
    14. animationDuration: 200
    15. });
    16. }
    17. script>
    18. <style>
    19. style>

    运行效果

     

    uni.switchTab(OBJECT)

    跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面。

    注意: 如果调用了 uni.preloadPage(OBJECT) (opens new window)不会关闭,仅触发生命周期 onHide

    OBJECT参数说明

    参数类型必填说明
    urlString需要跳转的 tabBar 页面的路径(需在 pages.json 的 tabBar 字段定义的页面),路径后不能带参数
    successFunction接口调用成功的回调函数
    failFunction接口调用失败的回调函数
    completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

    代码演示

    pages.json

    1. "tabBar": {
    2. "list": [{
    3. "pagePath": "pages/index/index",
    4. "text": "首页"
    5. },{
    6. "pagePath": "pages/user/user",
    7. "text": "用户"
    8. }]
    9. }

    index.vue

    1. <template>
    2. <view class="container">
    3. <button type="default" @click="toDetails('数据')">navigateTo跳转tabBar个人中心button>
    4. <hr>
    5. <button type="primary" @click="toUser()">switchTab跳转tabBar个人中心button>
    6. view>
    7. template>
    8. <script setup>
    9. const toDetails=(data)=>{
    10. //在起始页面跳转到user.vue页面并传递参数 不能跳底部导航页面
    11. uni.navigateTo({
    12. url: "../user/user?data="+data
    13. });
    14. }
    15. //跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面。
    16. const toUser=()=>{
    17. uni.switchTab({
    18. url: '../user/user'
    19. });
    20. }
    21. script>
    22. <style lang="scss">
    23. .container {
    24. padding: 20px;
    25. font-size: 14px;
    26. line-height: 24px;
    27. }
    28. style>

    user.vue

    1. <template>
    2. <view>
    3. <h2>用户页面h2>
    4. view>
    5. template>

    运行效果

    点击第一个按钮

    点击第二个按钮

     

     

  • 相关阅读:
    【C语言】C语言从入门到精通 | 第3章 实践与练习以及答案
    C++ 引用的数组和数组的引用
    SQL的语法
    使用QEMU调试ARM64 Linux内核v6.0.9
    CDO关注的5大趋势
    java 各种架构图汇总
    API自动化(五)
    多线程 - 锁策略 & CAS
    罗丹明RB/四甲基罗丹明标记水杨苷Salicin, Rhodamine B/TRITC labeled;Rhodamine B/TRITC-Salicin
    Go网络编程 Conn接口
  • 原文地址:https://blog.csdn.net/Little___Turtle/article/details/126248683