this.$emit is not a function

来源:4-2 父子组件间的数据传递

SachinYe

2021-05-09

图片描述

<div id="root">
  <test :value="value" @clickTest="testClick"></test>
</div>
<script>
  var test = {
    props: ["value"],
    template: "<div @click='handleClick'>{{value}}</div>",
    methods: {
      handleClick: function () {
        this.$emit("clickTest", 123);
      },
    },
  };
  var vm = new Vue({
    el: "#root",
    data: {
      value: "测试",
    },
    components: {
      test,
    },
    methods: {
      testClick: (test) => {
        console.log(test);
      },
    },
  });
</script>

写回答

3回答

两年半练习生坤

2023-11-24

this.$emit("clickTest", 123);

https://img1.sycdn.imooc.com/szimg/6560418d09bc908904710034.jpg不能使用驼峰,要使用“-”进行连接

0
0

Dell

2021-05-10

这里也没有报错说is not a function 啊

0
0

Dell

2021-05-09

完整代码截图发给我看一下

0
6
SachinYe
回复
Dell
哦,换个名字就好了
2021-05-10
共6条回复

Vue2.5-2.6-3.0开发去哪儿网App 零基础入门到实战

课程紧跟Vue3版本迭代,企业主流版本Vue2+Vue3全掌握

10675 学习 · 8191 问题

查看课程