vue 父子组件传值的问题

功能:实现添加好友,消息通知的功能
我在父组件mounted 方法中定义 创建了websocket对象,以便在所有子组件中都可以对该连接进行操作,我的思路是一方发送消息通知传递接收消息人的id,服务器端在接收到消息之后根据id将其转发给另一方
下面是父组件代码

image.png

image.png
image.png

因为消息显示是在子组件中本想在服务器返回消息的时候通过$ref传递给子组件即在websocket 的onmessage方法中,发现发送方可以获取到服务器onmessage传递过来的信息,在接收方 输出this.$ref.. 为undefined
百度了一下可能是渲染的问题,然后将this.$ref放到updated阶段依旧无法获取为undefined,在父组件中定义了一个数据接收传递过来的信息,
通过watch对数据进行监控发送改变就传递给子组件, 还是无法通过$ref进行信息传递

希望大佬帮忙解决,万分感谢

阅读 2.6k
3 个回答

虽然不知道vue的ref 是什么鬼。不过,为什么不用emitEvent?

  1. 你的缩进真奇葩……
  2. markdown 里面用 inline code 应该用 `` 包裹
  3. Vue 父子组件传数据应该用 props,不要直接用 $refs.child.someProp = 'some-value' 这样会使得父子组件深度耦合,影响维护效率

1、使用异步:async await;
2、父子传值别用ref,使用赋值变量的形式(这个变量放在computed中);

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