在项目中,由于子组件绑定的 click 事件层级较深,而导致,父组件获取不到。
在vue 官方文档中,给出了解决办法:你可以使用 v-on.native 修饰符

   <!-- 子组件 -->
   <div v-for="(item, index) in hotApps" :key="index" class="imgSpace">
      <img src="" alt=""  @click="handleClick(item)" />
   </div>
  methods: {
    handleClick(val) {
      this.$emit("imgInfo", val); 
    },
}
   <!-- 父组件 -->
  <childer @imgInfo="showImgInfo" >

不加 .native 修饰符的时候, 是调用不到父组件方法的。
修改 click 为:

  @click.native="handleClick(item)"

就可以访问父组件方法了。


参考:
vue自定义事件
vue中'. native'修饰符的使用


A_Ghost
29 声望4 粉丝

知道的越多,不知道的也就越多。