请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

this.$emit is not a function

图片描述

<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

3回答

两年半练习生坤 2023-11-24 14:25:00

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

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

0 回复 有任何疑惑可以回复我~
Dell 2021-05-10 22:34:11

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

0 回复 有任何疑惑可以回复我~
Dell 2021-05-09 21:58:04

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

0 回复 有任何疑惑可以回复我~
  • 提问者 SachinYe #1
    码云看不了吗
    https://gitee.com/sachin-ye/vue-practice/blob/master/index.html
    回复 有任何疑惑可以回复我~ 2021-05-09 21:59:24
  • Dell 回复 提问者 SachinYe #2
    不是同学,你把你调用this.$emit 这个方法对应部分的代码截个图给我。
    回复 有任何疑惑可以回复我~ 2021-05-09 22:00:07
  • 提问者 SachinYe 回复 Dell #3
    console吗?图片传上来了
    回复 有任何疑惑可以回复我~ 2021-05-09 22:05:27
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信