Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Vue.js组件内部设置websocket侦听器_Vue.js_Websocket_Vue Component - Fatal编程技术网

在Vue.js组件内部设置websocket侦听器

在Vue.js组件内部设置websocket侦听器,vue.js,websocket,vue-component,Vue.js,Websocket,Vue Component,我已经创建了一个组件,该组件将在站点上多次使用,并表示表中的一行 现在,我希望该组件的每个实例根据通过websocket接收的消息进行自我更新 我试图在组件的created()方法中注册一个onmessage侦听器,但它似乎不是这样工作的created()为表的每一行调用,但侦听器不显示任何效果 当我在我的“main”App.vue中注册侦听器时,它正在工作。但我希望它在我的组件中,这样我就可以轻松访问它的属性 你能给我一些提示我做错了什么吗 这是我的组件示例: {{feed.name} {{

我已经创建了一个组件,该组件将在站点上多次使用,并表示表中的一行

现在,我希望该组件的每个实例根据通过websocket接收的消息进行自我更新

我试图在组件的
created()
方法中注册一个
onmessage
侦听器,但它似乎不是这样工作的
created()
为表的每一行调用,但侦听器不显示任何效果

当我在我的“main”App.vue中注册侦听器时,它正在工作。但我希望它在我的组件中,这样我就可以轻松访问它的属性

你能给我一些提示我做错了什么吗

这是我的组件示例:


{{feed.name}
{{feed.idle}
{{feed.unseen}
{{feed.last_message}
{{feed.page}
/* ... */
导出默认值{
名称:'feedItem',
道具:{feed:Object},
创建(){
此.$options.sockets.onmessage=(数据)=>console.log(数据)
},
}
我加载了
vue原生websocket
im my main.js:

从“Vue”导入Vue
从“./App”导入应用程序
从“./路由器”导入路由器
从“./store”导入存储
从“vue本机websocket”导入VuenactiveSock
使用(VueNativeSock,'ws://127.0.0.1:9000'{
格式:“json”,
//店:店,,
重新连接:对,
重新连接延迟:1000
})
新Vue({
el:“#应用程序”,
路由器,
商店,
模板:“”,
组件:{App},
})

也许事件总线会有所帮助<代码>$emit在哪里工作(在你的主App.vue中)和
$on
在每个其他组件中。你解决了这个问题吗?我有一个类似的挑战,我真的不知道把听众放在哪里。文档中对我来说不是很清楚。