【问题标题】:How to fix 'Cannot read property '_wrapper' of undefined' error when using webpack with Vue?将 webpack 与 Vue 一起使用时,如何修复“无法读取未定义的属性 '_wrapper'”错误?
【发布时间】:2019-08-28 08:49:48
【问题描述】:

我使用 axios 从 DB 获取信息。我从数组中的服务器得到响应:

我的html标签:

js代码如下:

    data() {
        return {
            departments: {
                id: 0,
                name: "name of company",
                nameZod: "name of company dif"
                },
            };
       },
    created() {
        axios
            .get('/SomeController/Departments')
            .then(response => {
                this.departments = response.data;
                console.log(this.departments);
            })
        }

我收到一个错误:无法读取未定义的属性“_wrapper”。这很奇怪,因为我在其他模块中使用了类似的代码并且它工作正常。

【问题讨论】:

  • 您能否发布完整的错误消息,包括显示文件和行号的堆栈跟踪?

标签: vue.js webpack axios


【解决方案1】:

也许你在某处定义了一个函数调用(@click=something),但你还没有在方法中定义函数。这发生在我身上,也许它对某人有用

【讨论】:

  • 正是它。 :)
  • 这正是我的问题。我在
    表单中的 methodName 中有错字
  • 有同样的事情,虽然错误根本不提供信息!
  • 这是我的错误的原因,当在 umd 组件中调用缺少的函数时
  • 谢谢,这也是我的问题
【解决方案2】:

当模板中的 v-on:click OR @click 指令在组件中的 methods 内缺少它所指向的函数时,会发生此错误。

例子:


//template
@click="callAgain"
...
methods : {
  //no function called callAgain
}

【讨论】:

    【解决方案3】:

    你只需要像这样将你的部门初始化为一个数组:

        data() {
            return {
                departments: [
                    {
                        id: 0,
                        name: "name of company",
                        nameZod: "name of company dif"
                    },
                ],
            };
        },
    
    

    【讨论】:

    • @HormanLewis 不管它是否有效,你仍然需要这样做,因为你的模板期望 departments 是一个数组
    • 我今天打了这个,因为我写了@click="methodname.prevent",我应该写@click.prevent="methodname"。
    【解决方案4】:

    这也发生在我身上,但原因不同(Vue + Vuetify. @click 函数必须附加到 btn,而不是像下面这样的图标。

       <v-btn fab small>
           <v-icon @click="sendMessage">send</v-icon>
       </v-btn>
    

    【讨论】:

      【解决方案5】:

      您正在调用组件中尚未定义的某些函数,请检查您的组件中的所有函数是否已定义。

      举例

      您正在使用 @click="something" 但 something() 未在您的组件中定义。

      【讨论】:

      • 这确实是使用 vue 的缺点之一。实际上,如果不是组件策略(在替代框架中提供的更好),我几乎看不到 vue 的任何意义。在事件分配中做一个小的不明显的错字,你就处于一个泡菜调试中,因为异常和提供的跟踪并没有给你很多提示。如果有一个使用普通的 addEventListener 范例,您会单击异常并准确找到代码中的问题所在。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-02-29
      • 2019-10-25
      • 2020-01-20
      • 2019-02-10
      • 2022-01-06
      • 2017-04-21
      • 2019-12-08
      相关资源
      最近更新 更多