vue 列表页跳转详情页获取id以及详情页通过id获取数据

1.先在router.js中配置路由

{
   path: '/movieDetail/:movieId',
   name: 'movieDetail',
   component:movieDetail
 }

2.获取详情页的id,并派发父组件事件(movieList.vue)页面

 <li v-for="(item,index) in movies" :key="index" @click="selectItem(item)">
  。。。。。。。
</li>
methods:{
     selectItem(item){
       //console.log(item.moveId);
       //var item = item.moveId;
       this.$emit('select',item);
 }

3.在movieShow页面引用movieList.vue页面

<movieList :movies="movies" @select="movieDetail"></movieList>
   //转入电影详情页
      movieDetail(item){
       console.log(`${item.moveId}`);
       this.$router.push({
         path: `/movieDetail/${item.moveId}`
       })
     }

效果如下:

上面获取到了 id,接下来实现详情页通过id获取数据

1)先获取传过来的id

var movieId = that.$route.params && that.$route.params.movieId;

2)引用豆瓣网的API

  /v2/movie/subject/:id 单个电影条目信息

const url = `api/movie/subject/${movieId}`;
     that.$axios.get(url)
     .then((res)=>{
      console.log(res.data);
 })

效果如下

3)在页面中引用

<scroll class="movie-detail"
        :data="movieDetail"
    >
    。。。。。。
 </scroll>

在js中将movieDetail进行赋值   movieDetail = res.data

data(){
   return {
    movieDetail:{}
   }
  },
  created(){
    this._getDateil();
  },
  components:{
   scroll
  },
  methods:{
   _getDateil(){
    var that = this;
    var movieId = that.$route.params && that.$route.params.movieId;
    console.log(movieId);
    //that.getMovieDetail(movieId);
    const url = `api/movie/subject/${movieId}`;
     that.$axios.get(url)
     .then((res)=>{

      console.log(res.data);

       movieDetail = res.data;
    })
   },

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • vue如何通过id从列表页跳转到对应的详情页

    1. 列表页:列表页带id跳转到详情页 详情页:把id传回到后台就可以获取到数据了 2.列表页跳转到详情页并更改详情页的标题 列表页:带id和页面标题的typeid跳转到详情页 详情页:在html绑定标题,获取到传过来的typeid,然后判断typeid是多少对应返回标题. 补充:获取后台的数据,就是去访问的后台的服务器(怎么访问?答:就是你怎么访问网站那样子)然后他有定义到是必须的参数的时候,就是在连接后必须带的参数,才可以获取到后台数据,不是必须的跟在连接后面也不会影响.就如我的第二个例子,

  • vue 列表页跳转详情页获取id以及详情页通过id获取数据

    1.先在router.js中配置路由 { path: '/movieDetail/:movieId', name: 'movieDetail', component:movieDetail } 2.获取详情页的id,并派发父组件事件(movieList.vue)页面 <li v-for="(item,index) in movies" :key="index" @click="selectItem(item)"> ....... &l

  • Vue 列表页带参数进详情页的操作(router-link)

    首先,仔细看文档!!!一点一点的踩坑过来的~~~ 这里介绍params和query两种方法 1.用params传参 列表页: <router-link :to="{ name:'msgDetail', params: {id: item.msg_id} }">(注意:用params传参这里是命名路由,用name) </router-link> 路由配置如下: export default new Router({ routes: [ { path: '/msgD

  • 解决vue做详情页跳转的时候使用created方法 数据不会更新问题

    大家在做项目的时候肯定会遇到携带某个参数跳转到详情页 然后取这个参数,下面是重点 刚开始我用cookie把这个参数存起来在详情页面取这个参数发现只有第一次取到的是正确的 你在回到父页面在点击进详情页发现取到的数据跟原来的一模一样根本没有发生改变(因为router跳转时是不会刷新页面的所以导致我取得值永远不能更新),我以为是cookie有问题了后来又用了query携带参数跳转,sessionStorage方法存取发现都不行, 看下图解决办法 我也不知道其中是什么原理 没搞明白 但是解决了问题了,看

  • Vue列表页渲染优化详解

    vue列表页渲染优化,具体内容如下 想法 初始化时,vue会对data做getter.setter改造,在现代浏览器里,虽然JS已经足够快,但仍然有优化空间. 列表页的数据结构为: list: [ // 每一项有不同的来源,不同来源的数据都不同,因此放到一个数组里 [{ sourceId: 'xmla', // 来源的唯一标识 id: 3001, // 资源的唯一标识 source: '喜马拉雅', // 来源 title: '昆曲之牡丹亭', imageUrl: 'http://x.baidu

  • Vue设置长时间未操作登录自动到期返回登录页

    Vue设置长时间未操作登录以后自动到期返回登录页 首先我们写在main.js文件中 import routerUtil from "@/utils/routerutil";//先将js文件在main.js中引入 routerUtil(router); 我们会在登陆成功后调用sessionUtil文件中的setSession,sessionUtil下面写的有 import sessionUtil from '@/utils/sessionutil' sessionUtil.setSess

  • PHP翻页跳转功能实现方法

    我们都知道用php+mysql在web 页实现数据库资料全部显示是非常简单而有趣的,数据库资料很少的情况下页面显示还是让人满意的,但是当数据库资料非常多的情况下,页面的显示情况将会变的非常糟糕,下面就来介绍一下如何实现当前页面数据资料显示数量及如何实现动态的翻转功能. 这里将介绍两种翻页显示功能的实现: 先介绍一下在翻页中用到的数据库语法: mysql_query("select * from table order by id desc"); 这条数据库语句再熟悉不过了,是用来搜索记

  • php获取文章上一页与下一页的方法

    本文实例讲述了php获取文章上一页与下一页的方法.分享给大家供大家参考.具体方法如下: 今天发现一个站的上一页与下一页出现问题,上一页没有问题但是在下一页是直接到了本频道最新发布的文章了,按原理应该是文章本身ID的前与后的ID才是上下页吧,下面我来与大家详细讲述一下. 先看个例子:1,2,3,4,5. 假如上面5个是ID了,我要对上一页排序直接使用order by id desc,如我当前ID为3那么出来的是2才对,对下一页我们要用order by id asc得出的排序应该是,4,好了原理就这

  • js键盘方向键 文章翻页跳转的效果[小说站常用已支持firefox]

    一个小小的人性化功能,给用户很大的方便,所以如果你要做类似的网站,侠客建议还是加上哟. 先体验一下此功能吧: 按下向左方向键转到:www.baidu.com 按下向右方向键转到:www.google.com 按下向回车键转到:www.jb51.net 按下ctrl+enter回车键转到:www.jb51.net 实现本功能的javascript代码: 支持按键盘方向键翻页跳转的代码 document.onkeydown = pageEvent; var enableEnter = true; /

  • 按键盘方向键翻页跳转的javascript代码(支持ie,firefox)

    网上提供的代码,多是仅支持ie,下面这个是我们特别为大家整理的兼容firefox版本的. 支持按键盘方向键翻页跳转的代码支持ie,firefox document.onkeydown = pageEvent; var prevpage="http://www.jb51.net/softs"; var nextpage="http://www.jb51.net/codes"; function pageEvent(evt){ evt = evt ||window.ev

随机推荐