@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, какой-то ивент глобальный потом отправлять?
  • Вопрос задан
  • 112 просмотров
Пригласить эксперта
Ответы на вопрос 1
Может получится через computed или через геттеры (если используется vuex)

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

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

Войти через центр авторизации
Похожие вопросы
Страховой Кабинет Нижний Новгород
от 60 000 до 90 000 руб.
от 90 000 до 220 000 руб.
от 60 000 до 90 000 руб.
17 июл. 2019, в 19:35
100000 руб./за проект
17 июл. 2019, в 19:28
800 руб./за проект