账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    vuex项目websocket获取的列表信息怎么渲染?
    43
    0

    vue项目需要在单页展示很多信息,列表就有好几个,实时数据。
    因为页面比较复杂就拆模块了。
    但是websocket是单独维护的,获取到数据之后不知道该怎么样传递到拆分后的组件。
    目前的做法是使用store存储列表,websocket得到数据更新store,列表直接渲染store的数据。
    但是得到的数据需要过滤加工,只能在websocket的onmessage中整理才存入store,因为我没办法在列表所在组件中监听store内部数据的更新。
    结果就是onmessage已经越来越臃肿了,不利于扩展维护。
    有什么办法可以解决么?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 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实例,然后使用VuexStateMutationAction对象来管理 Vuex store 的状态、数据和行为。我们还定义了一个名为addList的 mutation,用于向 store 的 list 模块中添加一个新的列表项。我们还定义了一个名为getList的 getter,用于从 store 的 list 模块中获取当前列表的列表。

      然后,我们可以在组件中使用this.$store.getters.list来获取列表信息。例如:

      ```javascript

      ```

      在这个例子中,我们使用了 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实例,然后使用VuexStateMutationAction对象来管理 Vuex store 的状态、数据和行为。我们还定义了一个名为addList的 mutation,用于向 store 的 list 模块中添加一个新的列表项。我们还定义了一个名为getList的 getter,用于从 store 的 list 模块中获取当前列表的列表。

      然后,我们可以在组件中使用this.$store.getters.list来获取列表信息。例如:

      ```javascript

      ```

      在这个例子中,我们使用了 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实例,然后使用VuexStateMutationAction对象来管理 Vuex store 的状态、数据和行为。我们还定义了一个名为addList的 mutation,用于向 store 的 list 模块中添加一个新的列表项。我们还定义了一个名为getList的 getter,用于从 store 的 list 模块中获取当前列表的列表。

      然后,我们可以在组件中使用this.$store.getters.list来获取列表信息。例如:

      ```javascript

      ```

      在这个例子中,我们使用了 v-for 循环来遍历列表项,并使用模板语言来渲染列表信息。我们还使用了 this.$store.getters.list 来获取当前列表的列表。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部