vue3使用编程式导航实现页面的跳转,当单击按钮时,跳转到另一个组件中,并携带传递的参数。
时间: 2025-01-24 11:09:10 浏览: 94
在Vue 3中,可以使用编程式导航来实现页面的跳转,并且可以在跳转时携带参数。以下是一个简单的示例,展示了如何在单击按钮时跳转到另一个组件,并传递参数。
首先,确保你已经安装了Vue Router。假设我们有两个组件:`Home.vue`和`About.vue`。
1. **安装Vue Router**(如果还没有安装):
```bash
npm install vue-router@4
```
2. **配置路由**(在`router/index.js`或`router/index.ts`中):
```javascript
import { createRouter, createWebHistory } from 'vue-router';
import Home from '@/components/Home.vue';
import About from '@/components/About.vue';
const routes = [
{ path: '/', name: 'Home', component: Home },
{ path: '/about', name: 'About', component: About }
];
const router = createRouter({
history: createWebHistory(process.env.BASE_URL),
routes
});
export default router;
```
3. **在`Home.vue`中使用编程式导航**:
```vue
<template>
<div>
<h1>Home Page</h1>
<button @click="goToAbout">Go to About</button>
</div>
</template>
<script>
import { useRouter } from 'vue-router';
export default {
name: 'Home',
setup() {
const router = useRouter();
const goToAbout = () => {
router.push({ name: 'About', params: { id: 123 } });
};
return { goToAbout };
}
};
</script>
```
4. **在`About.vue`中接收参数**:
```vue
<template>
<div>
<h1>About Page</h1>
<p>Received ID: {{ id }}</p>
</div>
</template>
<script>
import { useRoute } from 'vue-router';
export default {
name: 'About',
setup() {
const route = useRoute();
const id = route.params.id;
return { id };
}
};
</script>
```
在这个示例中,当用户点击按钮时,`goToAbout`方法会使用`router.push`方法导航到`About`组件,并传递一个参数`id`。在`About`组件中,我们使用`useRoute`钩子来获取路由信息,并从中提取传递的参数。
阅读全文
相关推荐


















