【问题标题】:vue.c[Vue warn]: The "data" option should be a function that returns a per-instance value in component definitionsvue.c[Vue warn]:“data”选项应该是一个在组件定义中返回每个实例值的函数
【发布时间】:2019-09-22 13:46:27
【问题描述】:

我收到了这个警告:

vue.common.dev.js?4650:630 [Vue 警告]:“数据”选项应该是在组件定义中返回每个实例值的函数。

我在下面附加了我的代码,但我得到了同样的错误,我做错了什么。

vue.js

data: function() {
  return {
    message: 'Some Message'
  };
}

【问题讨论】:

  • 你能通过codesandbox.io/s/vue分享更多你的代码吗?
  • 我遇到了同样的问题。你解决了吗?
  • 我在我的组件中解决了我的问题,它来自特定组件,请耐心检查您在 main.js 中注册的每个组件。在您的数据中仅使用函数。
  • 我理解错误本身,但是我的所有代码(除了 new Vue(...))都使用函数,在比较所有文件后,我发现我犯了一个错误: render: function( h, ctx) {return (ctx.children[0]);} ,这里“h(ctx.children[0])”是错误的调用,应该是“ctx.children[0]” ;但此错误消息具有误导性。

标签: vue.js


【解决方案1】:

上述数据格式是正确的,但我的错误来自特定组件,但 vue 从父组件警告我,所以我很困惑。

解决方法,请耐心检查数据格式的每个组件应该在函数中,您在main.js中注册的那个

 data() {
    return {
      message: 'some message',
    };
  },

【讨论】:

    【解决方案2】:

    也许可以这样尝试:

      data() {
        return {
          message: 'some message',
        };
      },
    

    【讨论】:

    • 为什么您认为更改为其他格式可以解决问题?是否有可能将此代码放入另一个函数失败的文件中会导致它以同样的方式失败,因为我们没有足够的上下文信息?
    猜你喜欢
    • 1970-01-01
    • 2021-01-09
    • 2021-11-09
    • 1970-01-01
    • 1970-01-01
    • 2021-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多