vue3 中,如何使用 MQTT 或 websocket 统一接收数据,页面中单独处理数据
mqtt.js
const onConnected = () => {
onMessage();
}
const onMessage = (data) => {
const {obj1,obj2} = data
// 如何在这里将 obj1 数据传递 page1 ,将 obj2 数据传递 page2
}
page1
在这里只接收 obj1 数据
page2
在这里只接收 obj2 数据
1
vace 2023-03-26 23:01:33 +08:00
1. pinia 或者 vuex 之类的状态管理同步
2. event bus: https://v3-migration.vuejs.org/breaking-changes/events-api.html bus.$emit('message-1', obj1) bus.$emit('message-2', obj2) page1: bus.$on('message-1', ...) page2: bus.$on('message-2', ...) |
2
pubby 2023-03-26 23:06:34 +08:00 via iPhone
vuex 之类的,在 app 里 commit 消息
page 里各自 subscribe ,取需要的数据 |
3
hb1988 2023-03-27 08:34:49 +08:00
补充 rxjs ; customEvent ;
|
4
musi 2023-03-27 08:39:37 +08:00
存到 store 里,然后页面自己拿
|
5
erhsilence 2023-03-27 08:55:21 +08:00
mitt
|
9
jahnsli OP @erhsilence 想到这个,但不知道还有没有更好的方案
|
11
lingxiaoli 2023-03-27 10:37:15 +08:00
@jahnsli #8 你就是用两个文件来定义 store 来存 最后还是在内存里 不清楚你所谓的不臃肿意义在哪里?
|
12
musi 2023-03-27 11:28:53 +08:00
|
13
rm0gang0rf 2023-04-03 13:57:19 +08:00
在下全局变量了,刚刚写完。。是不是很 low~
|