vue父组件如何解析从子组件传来的数据

已知:
①父组件获取到子组件传来的数据,但是只能Mustache语法{{}}获取到,也就是下面的

  <p>子组件传递过来的数据 {{userData}}</p>

clipboard.png
②但是打印结果和预期不一样

console.log('下面是传递过来的数据')
console.log(this.userData)

当前返回结果是

clipboard.png

预期返回结果是

lipboard.png

求解:
{__ob__:Observer}是什么?
如何把数据正确解析成预期对象形式,从而实现子组件数据渲染父组件?
-----------------分割线
现在的问题如何把userData赋值给第一项,已知在created,mounted阶段赋值无效。
this.tableData[0] = this.userData
clipboard.png

最终解决方案:
不要在vue各种组件生命周期中,把接收到的子组件数据对父组件的数据进行更替。
在父组件的事件接收函数直接赋值即可:

this.$set(this.tableData, 0, this.userData)
阅读 3.3k
2 个回答

{__ob__:Observer}对你来说就是一个空对象,vue会给数据添加一个__ob__属性

我不太清楚你是用什么方式从子组件传数据到父组件,是事件吗?你可以装一个vue的调试工具vue-devtool,这样可以直接看到各个组件中的数据,以及事件传递的数据

看到你更新了问题:

vue是不能检测到 this.tableData[ 0 ] = xxx这种更新的
需要这么写 Vue.set( this.tableData, 0, xxx )
详细信息可以看文档注意事项

用vuex或者$emit

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题