在上一章节,<router-link to="/left">左</router-link>
这种这种路由,to中的内容目前是固定的。被称之为声明式路由(或普通路由)
编程式路由
编程式路由,可以按需决定某组件的路径映射。
vue-router提供了一个函数:useRouter
语法格式如下:
//该函数的返回值是一个路由对象。
let router = useRouter()
//确定路径地址
router.push('/路径地址')
router.push({path:'/路径地址'})
编程式路由的特点:
-
哪个组件调用push函数,就决定哪个组件的路径映射。
-
需要从vue-router导入useRouter函数。
-
还是需要编写路由配置文件。
-
编程式路由只是代替了router-link标签。
-
只能说是编程式路由,不是动态路由!!!不是动态路由!!!
依旧使用上一章栗子
修改App.vue
<script setup>
import {useRouter} from 'vue-router'
let router = useRouter();
let right = ()=>{
router.push({path:'/right'})
}
</script>
<template>
<router-link to="/left">左</router-link>
丨
<button @click="right()">右</button>
<router-view></router-view>
<h3>APP尾部</h3>
</template>
<style scoped>
</style>
效果展示
左是使用声明式路由,右是使用编程式路由。
路由传参
指的是在路径中传参,使用特定的方式读取。