下面是Vue项目中实现带参跳转功能的完整攻略:
1. 传递参数
1.1 路由方式
我们可以利用 Vue Router 实现带参跳转,先看一下路由文件定义如下:
import Vue from 'vue'
import Router from 'vue-router'
import Home from '@/views/home/Home'
import Detail from '@/views/detail/Detail'
Vue.use(Router)
export default new Router({
routes: [
{
path: '/',
name: 'home',
component: Home
},
{
path: '/detail/:id', // 参数定义
name: 'detail',
component: Detail
}
]
})
其中,我们在定义路由时通过 :
把参数 id 绑定到路径上,这样就可以通过 this.$route.params.id
获取到 id 的值。
在实际应用中,我们可以这样跳转:
this.$router.push({
name: 'detail',
params: {
id: 123
}
})
或者使用字符串模板:
this.$router.push(`/detail/${123}`)
1.2 编程方式
上面的路由方式适合在页面中带有跳转链接的情况下使用,如果需要在 JS 代码中动态跳转,可以使用编程式导航功能。
<script>
export default {
methods: {
goToDetail() {
this.$router.push({
path: '/detail',
query: {
id: 456
}
})
}
}
}
</script>
在编程方式中,我们把参数绑定到 query 中,这样可以通过 this.$route.query.id
获取到 id 的值。
2. 接收参数
当我们跳转到下一个页面后,我们如何获取传递过来的参数呢?
2.1 通过 this.$route
我们可以通过 this.$route
来获取从上一个页面传递过来的参数。
<template>
<div>
参数:{{ $route.params.id }}
</div>
</template>
在上面的示例中,我们通过 $route.params.id
获取到 id 参数的值。
2.2 通过 props
除了通过 this.$route
来获取参数外,我们也可以通过 props 方式来传递参数。
<template>
<div>
参数:{{ id }}
</div>
</template>
<script>
export default {
name: 'detail',
props: ['id']
}
</script>
在 Detail 组件中,我们通过 props 的定义来获取传递过来的参数,这样在页面中就可以直接使用 id 参数了。
总结
以上就是 Vue 项目中实现带参跳转功能的完整攻略,我们可以通过路由方式和编程方式来传递参数,在下一个页面中可以通过 $route
或 props 来接收参数。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Vue项目中实现带参跳转功能 - Python技术站