在模仿猫眼电影路由跳转中怎么实现点击某个电影 跳到对应的详情页当前点击的数据需要传过去
我通过this.$route.params来进行传递第一次点击可以传递
但是当刷新详情页之后
数据传递不过去,有什么办法解决么
在模仿猫眼电影路由跳转中怎么实现点击某个电影 跳到对应的详情页当前点击的数据需要传过去
我通过this.$route.params来进行传递第一次点击可以传递
但是当刷新详情页之后
数据传递不过去,有什么办法解决么
那你就写个判断判断有没有带参数过来 如果没有 不显示详情页 写在路由钩子上
下面是最简单一个 可以参考
if (to.meta.details) {
if (!Object.keys(to.params).length) {
let path = to.path.split("/");
path.pop();
path = path.join("/");
next({ path });
}
}
数据不应该从列表页面传到单个详细页面,因为详细页面有大段文字,图片等信息,如果在列表页面就将这些信息从数据库中取出来,大部分数据是不显示的,徒增后端压力。列表只取显示的数据,点击进入单个详细页面,用ajax取后端单个电影的详细数据。
你这个是路由传参的,你刷新的时候都没有路由跳转,当然没有参数传过来了。
你想要刷新也可以方法也很多啊,你可以把数据存在cookie session等都可以。
也可以通过url参数传参。
建议楼主先看下这篇文章 vue 路由数据获取,然后在你的列表渲染的时候,使用 <router-link :to="{ path: 'detail', query: { moveId: 'xxx' }}">xxxx</router-link>
13 回答12.9k 阅读
7 回答2.1k 阅读
3 回答1.3k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
6 回答942 阅读✓ 已解决
6 回答1.1k 阅读
2 回答1.3k 阅读✓ 已解决
使用get请求。