Vue你不知到的$this.emit()的用法

需求

 

 

 

 

 

 需求:除了拿到false,还要拿到v-for中的index 

 如何解决:再使用一次父传子,:a="index" 将下标值传递给子组件   注意要加引号

  <experts @handlerchange="ChangeV"  :a="index"></experts>
 
在html页面直接{{a}}就可以使用props中的值,
在methods:{}中要通过this哦 
this.$emit("handlerchange", [this.a, false]);
 
this.$emit()中的传递多个参数使用中括号哦

子组件

复制代码
<template>
  <!-- 子组件 -->
  <div>
    <h2 @click="getcon">123--{{a}}</h2>
  </div>
</template>
<script>
export default {
  props: ["a"],
  methods: {
    getcon() {
      this.$emit("handlerchange", [this.a, false]);
    }
  }
};
</script>
复制代码

 

父组件

复制代码
<template>
  <div>
    <div v-for="(item,index) in arr" :key="index" class="box">
      <h2>标题</h2>
      <p>{{item.name}}</p>
      <experts @handlerchange="ChangeV" :a="index"></experts>
    </div>
  </div>
</template>

<script>
import experts from "../../../components/myExperts";
export default {
  data() {
    return {
      arr: [
        { name: "张三", id: "1" },
        { name: "张四", id: "2" },
        { name: "王五", id: "3" }
      ]
    };
  },
  components: {
    experts
  },
  methods: {
    ChangeV(meass) {
      console.log(meass);
    }
  }
};
</script>
<style scoped>
.box {
  margin-top: 20px;
}
</style>
复制代码

 

 

 

 

 

posted @   南风晚来晚相识  阅读(10619)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示