vue在子组件中点击获取得到id向父组件传递这个id,控制台也没报错。。求指教,太扎心了

dillonl
  • 4
新手上路,请多包涵

子组件:Ranking.vue

<template>
   <div class="continer">
     <li class="allist" v-for="(item,index) in singslist" :key="item.id"  @click="clickplay(item.id)"></li>
   <div>
</template>

<script>
export default {
    data() {
        return {}
       },
     methods: {
       clickplay(id) {
              this.$emit('playmethod', id);
         }
       }
     }
</script>

父组件中调用子组件中得方法 play.vue

<template>
    <div class="content">
        <rankings v-show="false" @playmethod="playurls" />
    </div>
</template>

<script>
import rankings from '../navs/Ranking.vue';
export default {
    components:{rankings},
    data() {
        return {};
       },
     methods: {
        playurls(val) {
            console.log(val)
       }
     }
 }
<script/>
这里得父组件中得 playurls 方法接收不到子组件得点击 id
回复
阅读 928
3 个回答
  1. ranking.vue中div没有闭合,singslist也没在data中定义

2. play.vue 中script 的标签闭合就不对

  1. 建议定义name属性,引入组件名与name一致

clipboard.png

clipboard.png

你可以看看我这样是可以的

建议增加 debugger 或者 console.log 来追踪参数情况

dillonl
  • 4
新手上路,请多包涵

谢谢大佬,但是好像我的又出错了

你知道吗?

宣传栏