Javascript 未捕获(承诺中)TypeError:\u this.tasks.push不是函数
我一整天都在网上冲浪…救命啊。我有Vue.js应用程序。在我的组件中,我将数据数组变量等同于来自服务器的响应。但是,当我尝试将某些数据推送到数组时,会出现以下错误:Uncaught(in promise)TypeError:\u this.tasks.push不是函数。我尝试注销响应,但它返回以下内容:Javascript 未捕获(承诺中)TypeError:\u this.tasks.push不是函数,javascript,vue.js,axios,Javascript,Vue.js,Axios,我一整天都在网上冲浪…救命啊。我有Vue.js应用程序。在我的组件中,我将数据数组变量等同于来自服务器的响应。但是,当我尝试将某些数据推送到数组时,会出现以下错误:Uncaught(in promise)TypeError:\u this.tasks.push不是函数。我尝试注销响应,但它返回以下内容: {__ob__: Observer} 8 : (...) 9 : (...) 15 : (...) __ob__ : Observer {value: {…}, dep: Dep, vmCoun
{__ob__: Observer}
8
:
(...)
9
:
(...)
15
:
(...)
__ob__
:
Observer {value: {…}, dep: Dep, vmCount: 0}
get 8
:
ƒ reactiveGetter()
set 8
:
ƒ reactiveSetter(newVal)
get 9
:
ƒ reactiveGetter()
set 9
:
ƒ reactiveSetter(newVal)
get 15
:
ƒ reactiveGetter()
set 15
:
ƒ reactiveSetter(newVal)
__proto__
:
Object
这是我的组件js代码
import User from '../../services/UserService';
export default {
data() {
return {
taskText: '',
tasks: []
}
},
methods: {
createNewTask() {
User.createUserTask(this.taskText).then(response => {
if (response) {
this.tasks.push(response);
this.taskText = '';
Materialize.toast('Task was added', 4000);
}
});
},
markTaskAsDone(taskId) {
User.markTaskAsDone(taskId).then(response => {
if (response) {
this.tasks = this.tasks.filter(task => task.id !== taskId);
Materialize.toast('Task was completed', 4000);
}
});
}
},
mounted() {
const toast = Materialize.toast('Loading...');
User.getUserTasks().then(response => {
if (response) {
this.tasks = response;
toast.remove();
console.log(response);
}
});
}
}
我做错了什么?我能做出的唯一推断是,
响应
不是此均衡上的数组
this.tasks=响应
我能做出的唯一推断是,响应
不是此均衡上的数组
this.tasks=响应代码>响应
似乎不是数组。因此,当您在挂载的方法中设置this.tasks=response
时,您将无法将推送到它,因为tasks
不再是数组。Omg真的。。。后端返回的不是数组。非常感谢。响应
似乎不是数组。因此,当您在挂载的方法中设置this.tasks=response
时,您将无法将推送到它,因为tasks
不再是数组。Omg真的。。。后端返回的不是数组。非常感谢你。