老师,我不能触发emit事件

老师,我不能触发emit事件

老师,我是用的vue2写的,动态绑定emit事件时,无论如何都绑不上去,麻烦老师帮我看看

https://img1.sycdn.imooc.com/climg/6591a6cd0963749413010870.jpg

https://img1.sycdn.imooc.com/climg/6591a6cd09dd412811740835.jpg


正在回答

登陆购买课程后可参与讨论,去登陆

3回答

同学你好


经查,这里有一个奇怪的引用问题,造成添加的元素其实都保存的是相同的引用,需要在创建的时候单独拷贝一份新的。

// componentsList 第31行
// 修改为
this.$emit("onItemClick", { ...item });
// 就可以了

还是希望同学能使用和课程版本一样的 vue3,也支持vue2的 options API,这样会更方便一点哈。

  • 菜卷_ 提问者 #1

    谢谢老师,因为我公司在做的一个项目和这个项目高度契合...但是用的是vue2开发的,所以我想先用vue2写个demo..

    2024-01-06 11:27:57
张轩 2024-01-03 10:12:51

同学你好 你的事件是能触发的啊


第一个 input 应该改成 input 事件就能成功触发了,后面两个都是可以触发的。

change 事件是指值有改变,并且要 blur的时候才能触发。

请看我的截图,你的 console 都触发了。

https://img1.sycdn.imooc.com/climg/6594c29c093f954910080406.jpg

  • 提问者 菜卷_ #1

    老师,这块修改好了,但是碰见两个新的问题,如下图,码云上的代码也已经更新了,麻烦老师拉一下

    https://img1.sycdn.imooc.com/climg/6594d91009b99b6b19200870.jpg

    2024-01-03 11:48:54
  • 提问者 菜卷_ #2

    老师,怎么样了,我研究了两天,代码好像没有问题啊,center中的每个组件也有自己的id,彻底迷茫了。。。

    2024-01-05 09:06:14
张轩 2024-01-01 18:43:26

同学你好

请提供一下你的代码库(git)我在本地帮你看下

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师