• 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>

    运行效果

    点击第一个按钮

    点击第二个按钮

     

     

  • 相关阅读:
    MSDC 4.3 接口规范(23)
    JS new fun(); 类与实例 JS基于对象语言 只能通过书写构造函数充当类
    Vue中事件修饰符与键盘事件
    31.链表练习题(2)(王道2023数据结构2.3.7节16-25题)
    前端、后端开发者常用到的免费API整理
    CSS常见选择器
    成都瀚网科技有限公司:抖店的评论会消失吗?
    【文章学习系列之模型】DAGMM
    手写编程语言-实现运算符重载
    PHPStorm PHP-CS-Fixer
  • 原文地址:https://blog.csdn.net/Little___Turtle/article/details/126248683