1.传id

  1. //1.在子组件中定义一个事件,传id
  2. <template>
  3. <div @click="handleClick(data.id)">
  4. <img :src="data.coverImgUrl" />
  5. <p>{{data.name | format()}}</p>
  6. </div>
  7. </template>
  8. //2.在methods方法中触发
  9. methods:{
  10. handleClick(id){
  11. console.log(id)
  12. this.$router.push(`/detail?id=${id}`)
  13. }
  14. }

2.接收id并发送请求

  1. 父组件中接收
  2. //Detail/index.vue
  3. export default {
  4. name:"Detail",
  5. computed:{
  6. id(){
  7. return this.$route.query.id //接收上个页面传递的id
  8. }
  9. },
  10. methods:{
  11. toggle(){
  12. this.$router.back() //再回到上一个页面
  13. }
  14. },
  15. mounted(){
  16. var id=this.id; //获取id
  17. this.axios.get(`/top/playlist/detail?id=${id}`).then(res=>{
  18. console.log(res)
  19. })
  20. }
  21. }