vue中详情页面如何获取上个页面的值
时间: 2024-03-06 17:51:48 浏览: 73
vue 列表页跳转详情页获取id以及详情页通过id获取数据
5星 · 资源好评率100%
在 Vue 中,如果要在详情页面中获取上一个页面传递的值,可以通过路由参数的方式将需要显示的数据传递到详情页面。具体步骤如下:
1. 在上一个页面中使用 `<router-link>` 标签来跳转到详情页面,并传递需要显示的数据,例如:
```html
<template>
<div>
<h1>Current Page</h1>
<ul>
<li v-for="item in itemList" :key="item.id">
<router-link :to="{ name: 'detail', params: { id: item.id, title: item.title } }">{{ item.title }}</router-link>
</li>
</ul>
</div>
</template>
```
在这里,我们使用了 `name` 属性来指定路由的名称,使用 `params` 属性来传递需要显示的数据。
2. 在路由配置中指定详情页面的路径和名称,例如:
```javascript
{
path: '/detail/:id',
name: 'detail',
component: DetailComponent
}
```
3. 在详情页面中通过 `$route.params` 来获取传递的参数,例如:
```javascript
<template>
<div>
<h1>Detail Page</h1>
<p>{{ detail.title }}</p>
<p>{{ detail.content }}</p>
</div>
</template>
<script>
export default {
data() {
return {
detail: {}
}
},
created() {
this.loadDetail()
},
methods: {
loadDetail() {
// 获取传递的参数
const { id, title } = this.$route.params
// 根据 id 加载对应的数据
// ...
this.detail = loadedData
}
}
}
</script>
```
这样就可以在详情页面中获取上一个页面传递的值了。需要注意的是,在传递参数时,只有在使用 `<router-link>` 标签时才能使用 `params` 属性来传递参数,如果是使用 `$router.push()` 方法来跳转页面,则需要使用 `query` 属性来传递参数。
阅读全文