最近在做智慧矿山的项目,为保证数据的及时性,决定选用websocket,出于服务器性能的考虑,决定使用一个websocket通道进行多个方面的数据的传送,所以选用vuex对于数据进行集中的管理,以便于一条socket链接,能同时刷新同一项目中的多个组件的数据显示。
具体步骤如下:
1.安装vuex,创建store对象,并在state中定义数据以及在mutations中定义数据提交的方法。
2.建立与后端的websocket链接,当有数据传送,调用之前定义的setData的方法。
3.每当有数据刷新,需要在组件中更新数据。在这里,我们使用computed来监听仓库中数据的变化,并使组件所需的数据随之发生变化。
4.使用watch监听组件需要数据的变化来调用绘图的函数,来达到及时刷新数据的目的。
(在这里监听vuex的数据变化,也可以mapstate来实现,但是为了团队的方便维护,采取了上述方法)
效果图: