在做的一个项目中多个页面都需要使用到mqtt接收消息,但这样的话每个页面就都需要连接一次mqtt,并且要再次配置options信息、订阅主题、接收消息,非常的不方便,因此琢磨将mqtt封装到vuex中,使其可以多页面通用,这样只需要连接订阅一次,接收到的消息可以存储在vuex中。
1 |
|
使用export default暴露出app
1 2 3 4 5 6 7 8 9 10 11 |
|
将mqtt服务封装到VUEX中,可以解决多页面需要用到mqtt接收消息时,每个页面都要再次配置、连接、订阅主题等问题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
|
在src下的utils下新建一个js文件:mqttConfig.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
这里是在一个所有页面都要用到的一个公共组件中引入使用的,也可以在main.js中使用(看引入方法二)
方法一:公共组件中引入
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
|
方法二:main中引入
该方法需要在main中创建连接,在首页的渲染生命周期中启动mqtt状态监听
main.js:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
首页.vue:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
以上是VUE3+mqtt怎么封装解决多页面使用需重复连接等问题的详细内容。更多信息请关注PHP中文网其他相关文章!