【问题标题】:Property 'push' of undefined - vue.js未定义的属性“推送”-vue.js
【发布时间】:2019-10-28 20:42:12
【问题描述】:

我正在尝试深入了解 vue.js,但在将项目推送到数组时遇到了一些问题。下面的代码基于一个 scrimba 教程,起初我对它进行了一些详细说明,但后来我得到了错误:“Uncaught typeError: Cannot read property 'push' of undefined”。

所以我简化了它,直到我回到教程的基础知识。错误仍然存​​在..

let app = new Vue({
    el: '#toDoApp',
    data: {
        todos: [
            { text: 'Learn JavaScript' },
            { text: 'Learn Vue' },
            { text: 'Build something awesome' }
        ]
    }
});

toDoApp.todos.push({ text: 'New item' });

在 push 语句之后,列表应该是 4 项,而不是我看到的 3 项。

我在网上读过一些东西说这可能是因为我试图分配给它的变量不是数组,但据我所知是。以及我可以从字面上发现这与教程代码之间没有区别的事实。

【问题讨论】:

    标签: javascript arrays vue.js push


    【解决方案1】:

    this.todos.push({ text: 'New item' });

    app.todos.push({ text: 'New item' });

    【讨论】:

    • 所以在 vue.js "app."等于“这个”?
    • 您的let app = new Vue({...}) 正在创建一个new Vue 实例;因此将new Vue 设置为app 变量。这通常适用于任何编程语言。你也可以在这里查看它是如何完成的:dev.to/hugoliconv/lets-build-a-todo-app-using-vuejs-52in
    • 感谢您的解释!我可以看到它已经晚了,因为我可以发誓我将变量设置为 toDoApp,哈哈。
    猜你喜欢
    • 2018-05-12
    • 2016-04-22
    • 2019-12-13
    • 2018-09-10
    • 2021-03-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多