Визуализировать дату, которая становится асинхронной для каждого элемента в v-for - PullRequest
0 голосов
/ 26 января 2020

У меня есть массив серверов, которые я отображаю в шаблоне, используя v-for. Используя библиотеку vue -nats, я подписываюсь на каждый сервер для получения динамических c данных.

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

Данные поступают, и я помещаю их в объект: serversDetailedInfo. В msg я получаю объекты:

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

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

Но когда я отображаю эти данные в шаблоне, я получаю не список данных для каждого сервера, а только данные для одного сервера - новые данные перезаписывают старые данные. Как я могу отображать данные в шаблоне для каждого сервера? Спасибо, что вы получили.

1 Ответ

0 голосов
/ 26 января 2020

возможно, потому что ключи объектов одинаковы. Он переопределит существующие данные.

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

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

"c" был переопределен. вместо объекта создайте массив объекта, затем pu sh данные, когда данные поступают с нового сервера

...