@andrei_pro

Как отследить изменение главного объекта?

Всем привет.

Есть массив объектов:

products: [
{id: 1, name: 'prod 1'},
{id: 2, name: 'prod 2'},
{id: 3, name: 'prod 3'},
]


Есть 2й объект который включает в себя все products (и должен иметь все записи products):

order: {
  id: 1,
  date: '2019',
  products: [
   {product_id: 1, count: 3},
   {product_id: 2, count: 5},
   {product_id: 3, count: 0},
  ]
}


формирую я его так:
let orderProducts = products.map(product => {
       return {
            product_id: product.id,
            count: productCount(product)
        }
})


и добавляю к объекту order.

Проблема: добавлении, удалении продуктов orderProducts старый, как лучше всего его обновлять?
Вешать watch на products, какой-то ивент глобальный потом отправлять?
  • Вопрос задан
  • 130 просмотров
Пригласить эксперта
Ответы на вопрос 1
Может получится через computed или через геттеры (если используется vuex)

computed: {
    orderWithProducts() {
      const order = this.order;
      return {
        ...order,
        products: this.products.map(product => ({
          product_id: product.id,
          count: productCount(product)
        }))
      };
    },
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы