请稍等 ...
×

采纳答案成功!

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

点击svg图标报错

点击任意一个svg图标都会报错,虽然不影响事件执行,但是控制台总会出现错误
图片描述
图片描述

正在回答 回答被采纳积分+3

2回答

Wyatt6wm 2023-03-14 13:17:39
前面章节自己写的SvgIcon组件index.vue的template里面的标签外套一层div
1 回复 有任何疑惑可以回复我~
Sunday 2023-03-13 09:08:47

你好

根据报错的信息来看https://img1.sycdn.imooc.com//szimg/640e7726091e0fea05940110.jpg

你的错误应该和 svg 组件没有关系.

我没有遇到过类似的错误,你可以尝试 《把错误代码注释,直到不出现错误。然后逐步放开,直到出现错误。》这样的方式来查找错误的原因。

0 回复 有任何疑惑可以回复我~
  • 提问者 城北丶 #1
    在Hamburger组件中的@click事件增加修饰符.stop可以解决这个问题。但是点击其他图标依然会报错。也就是说要给每个图标组件都要增加@click.stop。我不知道这是为什么
    回复 有任何疑惑可以回复我~ 2023-03-13 09:36:40
  • Sunday 回复 提问者 城北丶 #2
    .stop 表示禁止冒泡,也就是说冒泡后会导致操作。可以看下冒泡后点击行为会到哪个 dom,找到报错的 dom ,然后分析 dom 出现错误的原因
    回复 有任何疑惑可以回复我~ 2023-03-13 10:25:39
  • 提问者 城北丶 回复 Sunday #3
    无法找见具体原因,但是我通过以下方式可以解决,在SvgIcon组件中div容器增加@click.stop属性,在Hamburger组件的click事件使用@click.capture="toggleClick"。这样可以保证所有svg图标点击不会报错
    回复 有任何疑惑可以回复我~ 2023-03-13 11:05:38

相似问题

登录后可查看更多问答,登录/注册

问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信