它说“Vue 警告:事件单击的处理程序未定义”
它在与事件点击相关的某个地方出错,我有数百个带有点击事件的组件。 我会在哪个组件/文件中收到错误消息?
这个提交的问题需要更多信息。 您使用的是 vue 2 还是 vue 1。
这是错误还是建议? 如果出现错误,则在 jsfiddle 上提供可重现的链接。
如果您的任何组件没有处理程序函数,这都不是 vue 问题。
//最好的
我正在使用 Vue 2。这不是错误。 这是一条没有用的错误消息。 好吧,Vue 可以以此作为改进错误消息样式并使其具体化的建议。 因此,如果任何开发人员犯了任何错误,他/她都可以通过准确地知道错误在哪里,在很短的时间内修复它。 与 React JS 相比,它们显示组件名称和行号,当然还有错误。
我希望,有错误消息要具体。
Vue 中有很多消息实际上并没有说太多。 不幸的是,Vue 似乎缺乏安全检查。
我想如果 vue 可以在其警告中添加更多信息 -
组件名称
组件类型
或者
可以为开发环境配置警告消息。
我们确实会尽可能提供组件信息,这可能是一种疏忽。
@just-nobody 请提供缺少哪些消息的具体示例,以便我们可以改进 - 只是抱怨无济于事。
我并不是真的在抱怨; 我认为这只是人们已经知道的事情。 过去我遇到过很多小的边缘情况,这些情况给出了实际问题的奇怪的、不起眼的信息,但却深深扎根于源头,而其他一些问题没有发出错误,而是导致了一些奇怪的渲染漏洞。 有些比其他的更容易追踪,所以我没有费心报告它们,因为我认为这只是我愚蠢,但特别是我实际上创建了一个拉取请求,因为我花了很长时间才弄清楚出了什么问题.
我想现在 2.0.1 出来了,很多问题都已经解决了,但我想我保持沉默是不好的。 给读者的信息:如果您认为这是一个错误,请报告它,即使它最终可能不是一个错误。
@yyx990803即使提供组件的名称键也无济于事。 感谢您光临并添加此问题作为改进。
:) 谢谢埃文
嗨,我最近注意到缺少行号会使调试变得非常困难,尤其是在组件很大的情况下。 我有一个包含数千行的组件。 我收到警告
“[Vue 警告]:渲染函数错误:“TypeError: _vm.values[item.name] 未定义””
我的 Firefox 控制台中有一个组件名称,但没有行号。 对于这种情况,指定行号会非常有用。 当然,我可以将组件拆分为几个较小的组件,或者只是通过编辑器的搜索来挖掘所有这些行,但这不是重点。
请考虑在下一版本中添加行号。 谢谢你。
+1 请添加行号。
我收到下一条消息,
vue.js:577 [Vue 警告]:渲染错误:“TypeError:无法读取未定义的属性‘长度’”
(在发现
我知道为什么它会失败,在这个构造“variable.length”上,如果变量 == null。 问题是我有很多“.length”结构,数据来自外部服务。
我也一样@ameoba32
我有“无法读取未定义的属性‘长度’”,但我找不到问题出在哪里。 这是一个很大的网络应用程序,所以很难。
我想我在原因中找到了文件,但我不知道错误到底在哪里。
我是否应该逐行擦除以找到断线? xD
这里和@ameoba32 一样。 @yyx990803请做点什么。 谢谢!
我非常喜欢 vue,并且已经使用它两年了。 RENDER 错误缺乏特异性是我的第一个抱怨/修复请求。 这个错误要么出现在模板中,要么出现在对应的js代码中。 行号会很有帮助,或者即使问题出在模板或 js 代码中。
有同样的问题
是的。 我也有同样的问题 ;)
unreachable code after return statement[Więcej informacji] app.js:5248:4
unreachable code after return statement[Więcej informacji] app.js line 4957 > eval:5248:4
unreachable code after return statement[Więcej informacji] app.js:5248:4
unreachable code after return statement[Więcej informacji] app.js line 5136 > eval:5248:4
我明白这意味着什么,但我不知道我应该在哪里修复它,并且通过我的所有组件来查找这些问题需要大量的工作。
同样在这里。
当我尝试查找错误发生的位置时,vue.common.js 对我来说毫无意义。
我同意,只是源文件中的行号会大大加快调试速度
有什么新鲜事吗? 为什么问题关闭了(因为问题仍然存在)?
希望能修复这个问题! 调试现在太复杂了,我们需要文件名和行号以便调试,请修复
我也同意,我的 .vue 文件太大了,获取确切位置会有所帮助。
我在确定哪个组件方面取得了一些进展,并且可以获得错误的行号(在许多情况下)。 (我使用的是单文件组件)。 但仍有许多调查要做。 我希望在未来公布我的发现。
@gpadilla123上帝速度先生。 期待你的作品。
如果有人仍在为格式错误的 return 语句梳理代码,我发现了在模板中同时使用表达式和函数调用时发生错误的根源:
:class="x=0; getClass()"
在这种情况下,删除x=0;
消除了警告。 并不是说此列表中的任何人都一定会出现这种情况,而是提醒您检查模板。
即使到今天,它仍然是不清楚的球。 当 vue 正在评估一些我什至没有改变的东西时,我收到一个错误......
Vue 3.0 应该会解决这个问题,因为它会有更好的错误信息,但是 Vue 3.0 的发布日期从 2019 年第二季度末到 2019 年末。太久了,我等不及了,所以我已经破解了一种方法来获取线路错误的数量(对于某些情况)。 被黑的解决方案需要更加健壮并适用于更多情况。
是的,这让我很伤心,我期待至少行号或其他东西能更好地指定
+1
这是致命的。 我们需要正确报告发生错误的行。 目前,当发生错误时,我似乎得到了完全无用的vue.js行号,例如。
[Vue 警告]:渲染错误:“TypeError:无法读取未定义的属性‘0’”
[Vue warn]: Error in render: "TypeError: Cannot read property 'length' of undefined"
寻找线路会很有趣。 特别是当我的代码中有很多.length
时。
像这样的消息就像一场野鹅追逐。 不知道错误的来源:我希望有一个行号、一个 vue 的名称、一个我创建的函数的名称,这不是 Vue 框架的一部分。 这发生在 vue 2.5.17 上。 在这种情况下,vue 开发扩展也没有帮助。
很高兴听到这个将在 Vue 3.0 中解决。 同时我发现了一个很好的提示:点击控制台中的错误行指示器,然后在 Vue 的源代码中的同一行上放置一个断点。 然后您可以重新加载页面,调试器将在断点处停止,然后您可以返回堆栈,直到找到您的组件之一,通常错误就在那里。
它并不完美,但它可以帮助您摆脱错误追捕。
[Vue warn]: Error in render: "TypeError: Cannot read property 'length' of undefined"
寻找线路会很有趣。 特别是当我的代码中有很多.length
时。
终于找到线了。
如果问题解决了,就不会花那么长时间。
+1,严重缺乏 vue 的控制台日志记录。 以下面的为例。 它告诉我组件堆栈,这很好,但是这里没有引用行号,整个调用堆栈指向编译vue代码,而不是我的组件代码。 组件名称旁边的行号就是它所需要的。
我也有调试没有行号的问题...
接受挑战。
多年来,这一直是一个无赖,现在仍然如此。
我正在浏览这个,希望有人已经有一些超级秘密黑客或者已经有一些更新
+1
TypeError: Cannot read property 'length' of undefined
但我有 30-50
我们真的需要渲染错误中的行号。
任何解决方法?
可以确认,我在这里只是盯着我的代码......不知道为什么它会失败。
如果 Vue 有缺点,这将是唯一的缺点
最有用的评论
我正在使用 Vue 2。这不是错误。 这是一条没有用的错误消息。 好吧,Vue 可以以此作为改进错误消息样式并使其具体化的建议。 因此,如果任何开发人员犯了任何错误,他/她都可以通过准确地知道错误在哪里,在很短的时间内修复它。 与 React JS 相比,它们显示组件名称和行号,当然还有错误。
我希望,有错误消息要具体。