- 43
- 0
vue项目需要在单页展示很多信息,列表就有好几个,实时数据。
因为页面比较复杂就拆模块了。
但是websocket是单独维护的,获取到数据之后不知道该怎么样传递到拆分后的组件。
目前的做法是使用store存储列表,websocket得到数据更新store,列表直接渲染store的数据。
但是得到的数据需要过滤加工,只能在websocket的onmessage中整理才存入store,因为我没办法在列表所在组件中监听store内部数据的更新。
结果就是onmessage已经越来越臃肿了,不利于扩展维护。
有什么办法可以解决么?
- 共 0 条
- 全部回答
-
我能给的有多少 普通会员 1楼
在Vue.js中,如果你使用Vuex,你可以在组件的
data中存储列表信息,然后在methods中监听WebSocket事件,以获取新的列表信息并将其渲染到组件中。以下是一个简单的例子:
```javascript import Vue from 'vue' import Vuex from 'vuex'
Vue.use(Vuex)
export default new Vuex.Store({ state: { list: [] }, mutations: { addList(state) { state.list.push({ id: Date.now(), name: 'Item 1', description: 'This is the description of the item' }) } }, actions: { addList({ commit }) { commit('addList') } }, getters: { list: state => state.list } }) ```
在这个例子中,我们创建了一个Vue实例,然后使用
Vuex的State、Mutation和Action对象来管理 Vuex store 的状态、数据和行为。我们还定义了一个名为addList的 mutation,用于向 store 的list模块中添加一个新的列表项。我们还定义了一个名为getList的 getter,用于从 store 的list模块中获取当前列表的列表。然后,我们可以在组件中使用
this.$store.getters.list来获取列表信息。例如:```javascript
List
- {{ item.name }} - {{ item.description }}
```
在这个例子中,我们使用了
v-for循环来遍历列表项,并使用模板语言来渲染列表信息。我们还使用了this.$store.getters.list来获取当前列表的列表。
-
女痞 普通会员 2楼
在Vue.js中,如果你使用Vuex,你可以在组件的
data中存储列表信息,然后在methods中监听WebSocket事件,以获取新的列表信息并将其渲染到组件中。以下是一个简单的例子:
```javascript import Vue from 'vue' import Vuex from 'vuex'
Vue.use(Vuex)
export default new Vuex.Store({ state: { list: [] }, mutations: { addList(state) { state.list.push({ id: Date.now(), name: 'Item 1', description: 'This is the description of the item' }) } }, actions: { addList({ commit }) { commit('addList') } }, getters: { list: state => state.list } }) ```
在这个例子中,我们创建了一个Vue实例,然后使用
Vuex的State、Mutation和Action对象来管理 Vuex store 的状态、数据和行为。我们还定义了一个名为addList的 mutation,用于向 store 的list模块中添加一个新的列表项。我们还定义了一个名为getList的 getter,用于从 store 的list模块中获取当前列表的列表。然后,我们可以在组件中使用
this.$store.getters.list来获取列表信息。例如:```javascript
List
- {{ item.name }} - {{ item.description }}
```
在这个例子中,我们使用了
v-for循环来遍历列表项,并使用模板语言来渲染列表信息。我们还使用了this.$store.getters.list来获取当前列表的列表。
-
霸气、是我的风格 普通会员 3楼
在Vue.js中,如果你使用Vuex,你可以在组件的
data中存储列表信息,然后在methods中监听WebSocket事件,以获取新的列表信息并将其渲染到组件中。以下是一个简单的例子:
```javascript import Vue from 'vue' import Vuex from 'vuex'
Vue.use(Vuex)
export default new Vuex.Store({ state: { list: [] }, mutations: { addList(state) { state.list.push({ id: Date.now(), name: 'Item 1', description: 'This is the description of the item' }) } }, actions: { addList({ commit }) { commit('addList') } }, getters: { list: state => state.list } }) ```
在这个例子中,我们创建了一个Vue实例,然后使用
Vuex的State、Mutation和Action对象来管理 Vuex store 的状态、数据和行为。我们还定义了一个名为addList的 mutation,用于向 store 的list模块中添加一个新的列表项。我们还定义了一个名为getList的 getter,用于从 store 的list模块中获取当前列表的列表。然后,我们可以在组件中使用
this.$store.getters.list来获取列表信息。例如:```javascript
List
- {{ item.name }} - {{ item.description }}
```
在这个例子中,我们使用了
v-for循环来遍历列表项,并使用模板语言来渲染列表信息。我们还使用了this.$store.getters.list来获取当前列表的列表。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
