Vue界面跳转传递参数
在Vue中实现屏幕间参数传递,可以使用vue-router
的路由参数传递。以下是一个简单的例子:
- 定义路由:
// router.js
import Vue from 'vue';
import Router from 'vue-router';
import HomePage from './components/HomePage.vue';
import DetailPage from './components/DetailPage.vue';
Vue.use(Router);
export default new Router({
routes: [
{
path: '/',
name: 'home',
component: HomePage
},
{
path: '/detail/:id', // 动态路由参数
name: 'detail',
component: DetailPage
}
]
});
- 在
HomePage.vue
中,使用$router.push
来传递参数:
// HomePage.vue
<template>
<div>
<button @click="goToDetailPage(123)">Go to Detail Page</button>
</div>
</template>
<script>
export default {
methods: {
goToDetailPage(id) {
this.$router.push({ name: 'detail', params: { id } });
}
}
};
</script>
- 在
DetailPage.vue
中接收参数:
// DetailPage.vue
<template>
<div>
<p>Detail Page with ID: {{ $route.params.id }}</p>
</div>
</template>
<script>
export default {
created() {
console.log('Received ID:', this.$route.params.id);
}
};
</script>
在这个例子中,当用户点击按钮时,HomePage
组件通过$router.push
方法将参数id
传递给DetailPage
组件,在DetailPage
组件中通过$route.params.id
来接收传递的参数。
评论已关闭