vue3 vuerouter
时间: 2023-08-17 22:12:37 浏览: 112
VUE3使用路由组件实现菜单跳转
Vue 3中的Vue Router API发生了一些变化。在Vue 2中,我们可以通过this.$route和this.$router来控制路由。而在Vue 3中,我们需要使用新的API来实现相同的功能。
引用[1]中提到,现在我们可以使用useRoute来获取当前路由信息,相当于Vue 2中的this.$route。而useRouter相当于Vue 2中的this.$router。
在代码中,我们需要引入useRouter和useRoute这两个函数,可以通过以下方式进行引入:
```javascript
import { useRouter, useRoute } from "vue-router";
```
在setup函数中,我们可以使用useRouter来获取路由实例,使用useRoute来获取当前路由信息。例如:
```javascript
setup() {
let router = useRouter();
let route = useRoute();
console.log("接收到的参数", route.query);
return {
router
};
}
```
在Vue 3中,我们可以使用router.push来进行页面跳转,类似于Vue 2中的this.$router.push。例如:
```javascript
router.push('/suscomp');
router.push({ path: '/suscomp', query: { a: 1, b: 2 } });
```
另外,在Vue 3中,我们可以在全局中使用$router、$route、<router-view/>和<router-link/>这些API。在main.js中,我们需要将router实例通过app.use()方法进行挂载。例如:
```javascript
import { createApp } from 'vue';
import App from './App.vue';
import router from "@/router";
const app = createApp(App);
app.mount('#app');
app.use(router);
```
总结来说,Vue 3中的Vue Router API发生了一些变化,我们需要使用useRoute和useRouter来获取路由信息和路由实例,使用router.push来进行页面跳转,并在main.js中将router实例挂载到app上。
阅读全文