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

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

需求


1425695-20191202232357423-1863490570.png1425695-20191202232410292-766332690.png


需求:


除了拿到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>

1425695-20191202232801220-837612088.png

相关文章
|
22小时前
|
JavaScript 前端开发 测试技术
使用 Vue CLI 脚手架生成 Vue 项目
通过 Vue CLI 创建 Vue 项目可以极大地提高开发效率。它不仅提供了一整套标准化的项目结构,还集成了常用的开发工具和配置,使得开发者可以专注于业务逻辑的实现,而不需要花费大量时间在项目配置上。
53 7
使用 Vue CLI 脚手架生成 Vue 项目
|
2天前
|
JavaScript 算法
“Error: error:0308010C:digital envelope routines::unsupported”启动vue项目遇到一个错误【已解决
“Error: error:0308010C:digital envelope routines::unsupported”启动vue项目遇到一个错误【已解决
8 1
|
2天前
|
JavaScript
error Component name “Login“ should always be multi-word vue/multi-word-component-names【已解决】
error Component name “Login“ should always be multi-word vue/multi-word-component-names【已解决】
6 1
|
2天前
|
JavaScript
vue知识点
vue知识点
10 3
|
3天前
|
JavaScript 前端开发 Java
【vue实战项目】通用管理系统:作业列表
【vue实战项目】通用管理系统:作业列表
16 0
|
4天前
|
JavaScript API
【vue实战项目】通用管理系统:信息列表,信息的编辑和删除
【vue实战项目】通用管理系统:信息列表,信息的编辑和删除
21 2
|
4天前
|
JavaScript API
【vue实战项目】通用管理系统:信息列表,信息录入
【vue实战项目】通用管理系统:信息列表,信息录入
11 3
|
4天前
|
JavaScript 前端开发 API
【vue实战项目】通用管理系统:学生列表
【vue实战项目】通用管理系统:学生列表
16 2
|
4天前
|
缓存 JavaScript
【vue实战项目】通用管理系统:首页
【vue实战项目】通用管理系统:首页
11 2
|
4天前
|
JavaScript 前端开发 数据安全/隐私保护
【vue实战项目】通用管理系统:登录页
【vue实战项目】通用管理系统:登录页
11 2