Javascript 将对象添加到父数组

Javascript 将对象添加到父数组,javascript,vue.js,Javascript,Vue.js,我正在将一个“todo”对象从子组件传递到其父组件,这将触发父组件上的函数addTodo 然后,此函数需要将事件数据添加到对象数组中。问题是事件数据嵌套在另一个对象中。(请参阅控制台日志屏幕截图) 我的问题是,我应该如何管道化这些数据,以便将其正确地传递到我的addToDo函数中?或者是在事件数据到达addToDo函数后展开事件数据的情况 提前谢谢 //Child Component sendForm () { const title = this.titleText

我正在将一个“todo”对象从子组件传递到其父组件,这将触发父组件上的函数
addTodo

然后,此函数需要将事件数据添加到对象数组中。问题是事件数据嵌套在另一个对象中。(请参阅控制台日志屏幕截图)

我的问题是,我应该如何管道化这些数据,以便将其正确地传递到我的
addToDo
函数中?或者是在事件数据到达
addToDo
函数后展开事件数据的情况

提前谢谢

//Child Component

    sendForm () {
      const title = this.titleText
      const project = this.projectText
      this.$emit('add-todo', {
        title: title,
        project: project,
        done: false
      })
      this.newTodoText = ''
      this.isCreating = false
    }
//父组件

addTodo (toDo) {
  console.log(toDo)
  this.todos.push({
    toDo
  })
  console.log(JSON.stringify(this.todos))
}


  data () {
    return {
      todos: [{
        title: 'Todo A',
        project: 'Project A',
        done: false
      }, {
        title: 'Todo B',
        project: 'Project B',
        done: true
      }, {
        title: 'Todo C',
        project: 'Project C',
        done: false
      }, {
        title: 'Todo D',
        project: 'Project D',
        done: false
      }]
    }
  }
更改您的代码:

addTodo (toDo) {
  this.todos.push(toDo)
}

因为您从子组件本身传递的数据是一个对象,所以您不再需要使用
{}
符号。

如果我看到的一切都是正确的,那么问题是发射在子节点上触发,而不是在父节点中捕获。试试这个

this.$parent.$emit('add-todo', {
        title: title,
        project: project,
        done: false
      })

在这篇文章中,你的是
this.$emit
,我提议
this.$parent.$emit

很棒!非常感谢。@JoeCarre检查一下-你就会知道你的问题是什么:)它正确地启动了父函数,但还是要谢谢你!