当前位置: 移动技术网 > IT编程>脚本编程>vue.js > vue 列表页跳转详情页获取id以及详情页通过id获取数据

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

2019年07月23日  | 移动技术网IT编程  | 我要评论

高一地理必修一,暴走大事件第三季优酷,极致情缘

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;
    })
   },

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

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网