(Codesandbox,Vue)“属性或方法“子项”未在实例上定义,但在渲染期间被引用。

Posted

技术标签:

【中文标题】(Codesandbox,Vue)“属性或方法“子项”未在实例上定义,但在渲染期间被引用。【英文标题】:(Codesandbox, Vue) 'Property or method "children" is not defined on the instance but referenced during render.' 【发布时间】:2021-08-05 11:22:44 【问题描述】:

我目前正在构建一个状态管理器,它可以集成到多个前端框架中,包括 Vue。 为了演示 Vue 中状态管理器的用法,我创建了一个简单的代码框。 因为拥有一个可以在自述文件中推广的实时代码示例总是很好的。 但不知何故,我总是在代码和框中得到这个(见下文)错误。

[Vue warn]: Property or method "children" is not defined on the instance but referenced during render. Make sure that this property is reactive, either in the data option, or for class-based components, by initializing the property. See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.

上述错误出现在显示editor + preview 的代码框中。 在本地或单独的选项卡中(仅显示 preview) 它按预期工作(没有错误)。

代码沙盒(错误):https://codesandbox.io/s/agilets-first-state-i5xxs?file=/src/main.js

单独点击代码沙盒预览(无错误):https://i5xxs.csb.app/

本地项目(无错误):https://github.com/agile-ts/agile/tree/master/examples/vue/develop/my-project

我不知道我做错了什么。 但这与我的状态经理有关, 因为默认的vue codesandbox 工作正常。

【问题讨论】:

我查看了您的 CodeSandbox。我确实注意到您正在导入和调用函数generateId()。为了让 Vue 使用它,很确定您需要将它添加到您的实例方法中:methods: generateId 。然后用this.generateId() 调用它。 我不这么认为..因为为什么它会在本地工作..但我会试一试..谢谢 ;D 编辑:我从示例中删除了该功能,但是错误仍然存​​在。 【参考方案1】:

忽略该错误。这是一个bug in Codesandbox,不是由您自己的代码直接引起的。他们的一位developers commented on Apr 13 表示该问题的优先级较低,因此可能不会很快得到解决。

【讨论】:

好的,感谢您提供的信息.. 因为它看起来与记录 vue 实例有关.. 并且一旦我禁用了日志记录,它就可以正常工作.. 感谢您的提示;D

以上是关于(Codesandbox,Vue)“属性或方法“子项”未在实例上定义,但在渲染期间被引用。的主要内容,如果未能解决你的问题,请参考以下文章

如何修复 VueJS 中的“未定义属性或方法”错误

[Vue 警告]:未定义属性或方法“$v”

Vue.js:实例上未定义属性或方法

实例上未定义属性或方法“键” - Vue/Laravel 应用程序

Vue警告]:属性或方法“选项”未在实例上定义,但在render.Vue js问题期间引用

属性或方法未在实例上定义,但在渲染期间引用 - Vue