在Vue 2中,可以使用动态路由传递参数。动态路由参数允许你在路由路径中包含占位符,这些占位符可以在路由被匹配时提取出来并作为参数传递给组件。
下面是一个使用Vue 2动态路由传参的基本用法的例子:
router/index.js
)中定义一个带有动态参数的路由路径:import Vue from 'vue';
import Router from 'vue-router';
import ProductDetail from '@/components/ProductDetail';
Vue.use(Router);
export default new Router({
routes: [
{
path: '/product/:id', // 使用冒号表示参数是动态的
name: 'ProductDetail',
component: ProductDetail
}
]
});
<template>
<div>
<h1>Product Detail</h1>
<p>Product ID: {{ productId }}</p>
</div>
</template>
<script>
export default {
name: 'ProductDetail',
data() {
return {
productId: ''
};
},
created() {
// 在组件创建时获取动态参数的值
this.productId = this.$route.params.id;
}
};
</script>
在上面的例子中,我们定义了一个名为ProductDetail
的组件,并在路由配置中指定了动态参数:id
。在组件的created
生命周期钩子中,我们使用this.$route.params.id
来获取动态参数的值,并将其赋值给productId
属性。
当访问/product/123
时,路由会匹配到ProductDetail
组件,并将动态参数123
传递给组件的productId
属性。组件将显示"Product ID: 123"。
这就是Vue 2中动态路由传参的基本用法。你可以根据需要在路由路径中定义多个动态参数,并在组件中使用它们。