为 v-for 中的每个项目渲染一个异步的日期

Render a date that comes asynchronous for each item in v-for

我有一组服务器,我使用 v-for 在模板中显示它们。使用vue-nats库,我订阅每个服务器接收动态数据。

methods: {
  subscribe(uuid) {
    this.$nats.subscribe('report.' + uuid, (msg) => {
      this.serversDetailedInfo = Object.assign({}, this.serversDetailedInfo, msg)
    })
  }
}

数据进来了,我放在对象中:serversDetailedInfo。在味精中我得到对象:

Object { server_uuid: "OTgxYWZlNDctMWE4Zi", ram: {…}, hdd: {…}, tstamp: " " }

Object { server_uuid: "ZjhlNDY2MjQtYjRiZi", ram: {…}, hdd: {…}, tstamp: " " }

但是当我在模板中显示这些数据时,我得到的不是每个服务器的数据列表,而是一个服务器的数据——新数据会覆盖旧数据。如何在每个服务器的模板中显示数据? 提前谢谢你。

可能是因为对象键相同。它将覆盖现有数据。

var data = {
a:"shashank",
b:"gupta",}

let c = Object.assign({},data,{a:"shashank1",
b:"gupta1"});
c
{a: "shashank1", b: "gupta1"}

"c" 已被覆盖。 而不是一个对象,创建一个对象数组,然后在数据来自新服务器时推送数据