Javascript 为什么我看到Vue警告:“我看到Vue警告”;属性或方法“;味精;未在实例上定义,但在渲染期间引用…“;

Javascript 为什么我看到Vue警告:“我看到Vue警告”;属性或方法“;味精;未在实例上定义,但在渲染期间引用…“;,javascript,vue.js,vuejs2,vue-component,Javascript,Vue.js,Vuejs2,Vue Component,情况看起来非常简单,但我绝对不清楚原因。我正在尝试使用ES5为具有遗留代码的项目实现一个Vue组件。Vue库是2.6x(也尝试了2.5x) 我有以下Vue组件: window.StoragesPage=Vue.extend({ 名称:MyConsts.COMP_STORAGES_页面, 模板:“#存储页面模板”, 数据:函数(){ 返回{ 味精:“aaaaaaaa”, instGid:“, 指定域:“” }; }, }); 它具有以下模板: {{msg}} 并且它使用以下实例化方式: Vu

情况看起来非常简单,但我绝对不清楚原因。我正在尝试使用ES5为具有遗留代码的项目实现一个Vue组件。Vue库是2.6x(也尝试了2.5x)

我有以下Vue组件:

window.StoragesPage=Vue.extend({
名称:MyConsts.COMP_STORAGES_页面,
模板:“#存储页面模板”,
数据:函数(){
返回{
味精:“aaaaaaaa”,
instGid:“,
指定域:“”
};
},
});
它具有以下模板:


{{msg}}
并且它使用以下实例化方式:

Vue.component(MyConsts.COMP\u STORAGES\u页面,window.StoragesPage);
//初始化vue根实例
新Vue({
el:“#我的应用程序”
});
Vue根实例的标记如下所示:


带有组件名称的常量如下所示:

。。。
组件存储页面:“存储页面”,
...
最后,我有一个Vue警告:

vue-2x.js:634[vue warn]:属性或方法“msg”未在实例上定义,但在渲染期间被引用。通过初始化属性,确保此属性在数据选项中或对于基于类的组件是被动的。请参阅:。 (在根目录中找到)

问题是:

  • 为什么我会看到这个警告

  • 为什么它包含“在根目录中找到”,但“msg”数据项实际上在我的Vue根目录子组件中

  • 为什么在这之后,我看到了正确呈现的页面,预期输出为“aaaaa”


PS:我还仔细检查了页面上是否只包含一个Vue库。

好的,看起来我找到了这种奇怪行为的原因,在Chrome debugger中详细检查了Vue实例化过程后,我发现我的子Vue组件模板在Vue应用程序容器
标记中呈现如下:



//请提供一个。@Terry它似乎与此处显示的第一个示例相匹配~我无法再现此问题~看起来我无法准备最小可再现示例,我只是在Codepen上尝试了此操作,但没有看到警告,因此原因可能是我的环境中的某个地方@Terry我尝试了你的变体,但仍然看到警告,是的,我的原始变体也可以根据Vue文档工作。