uniapp常见的路由与页面跳转api是什么

发表时间:2023-05-10 11:38作者:PHPz

Uniapp是一款基于Vue.js的跨平台应用开发框架,通过统一的语法规范和封装的API,支持快速构建小程序、H5、App等多平台应用,同时提供了丰富的路由和页面跳转API来实现应用之间的跳转和页面之间的交互。

下面我们来详细介绍Uniapp常见的路由与页面跳转API:

路由

路由是指应用之间的跳转规则,Uniapp提供了多种路由的配置方式,包括全局路由配置、页面独享配置、组件路由配置等,通过路由可以实现应用之间的快速跳转和页面之间的参数传递。

  1. 全局的路由配置

全局的路由配置包含了应用的所有路由规则,在main.js文件中进行配置,具体方法如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

import App from './App'


// 全局路由配置

constrouter = uni.createRouter({

    routes: [

        {

            path: '/home',

            name: 'home',

            component: () => import('@/pages/home/index.vue')

        },

        {

            path: '/category',

            name: 'category',

            component: () => import('@/pages/category/index.vue')

        },

        {

            path: '/goods/:id',

            name: 'goods',

            component: () => import('@/pages/goods/index.vue')

        },

        //...

    ]

})


App.mpType = 'app'

App.router = router

App.vue = newVue({

    router,

    render: h => h(App)

}).$mount()

在全局路由配置中,可以定义多个路由规则,每个路由规则包含了path、name和component三个属性。其中,path表示路由的路径,name表示路由的名称,component表示路由对应的组件。

在Uniapp中,路由的跳转可以通过uni.navigateTo、uni.switchTab、uni.reLaunch等API来实现,接下来我们将详细介绍这些API的用法。

  1. 页面独享的路由配置

页面独享的路由配置可以针对特定页面进行路由规则的定义,将路由规则写在页面的配置中,具体方法如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

<template>

   <view class="container">

      <!-- ... -->

   </view>

</template>


<script>

export default{

   name: 'home',

   // 页面独享配置

   onUniNaviationBarTap(){

    uni.navigateTo({

      url:'/pages/category/index'

    })

   }

}

</script>


<style>

/* ... */

</style>

在页面独享配置中,可以定义多个路由规则,以事件的形式触发,这些事件包括onLoad、onShow、onUnload、onHide等。

  1. 组件路由配置

组件路由配置可以实现组件之间的路由跳转,将路由规则写在组件中,具体方法如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

<template>

   <view class="container"@click="goToGoodsDetail">

      <!-- ... -->

   </view>

</template>


<script>

export default{

   name: 'product-card',

   methods: {

    goToGoodsDetail() {

      uni.navigateTo({

        url: '/pages/goods/index?id='+ this.goodsId

      })

    },

   },

   props: {

    goodsId: {

      type: String,

      required: true,

    },

   },

}

</script>


<style>

/* ... */

</style>

通过在组件中定义路由规则,并触发uni.navigateTo,就可以实现组件之间的跳转。

页面跳转API

Uniapp提供了多种页面跳转的API,包括navigateTo、redirectTo、switchTab、reLaunch等,通过这些API,可以实现应用之间的快速跳转和页面之间的参数传递。

  1. navigateTo

navigateTo是最常用的页面跳转API之一,用于在当前页面打开一个新页面,新页面可以通过uni.navigateBack返回到当前页面。

1

2

3

uni.navigateTo({

   url: '/pages/category/index'

})

在navigateTo中,url表示跳转的页面路径,可以是相对路径或绝对路径。

  1. redirectTo

redirectTo用于关闭当前页面并打开一个新页面,新页面不可以通过uni.navigateBack返回到当前页面。

1

2

3

uni.redirectTo({

   url: '/pages/category/index'

})

  1. switchTab

switchTab用于打开应用的Tab页面,页面无法传递参数,可以在Tab页面通过onLoad实现初始化操作。

1

2

3

uni.switchTab({

   url: '/pages/home/index'

})

  1. reLaunch

reLaunch用于关闭所有页面并打开一个新页面,新页面可以通过uni.navigateBack返回到当前页面。

1

2

3

uni.reLaunch({

   url: '/pages/login/index'

})

总结

本文详细介绍了Uniapp常见的路由与页面跳转API,在应用开发中,路由与页面跳转是非常重要的一环,通过灵活的配置和使用这些API,可以实现应用之间的跳转和页面之间的交互,为用户带来更好的体验和更优质的服务。


分享到:
商务合作

联系QQ:704084363 手机号码:19913621515 联系邮箱:ts@yulin4664.com 工作时间:周一至周五(09:00-17:00)
扫码使用微信公众号
©2023 南阳东霖信息技术有限公司 版权所有