@stanislavkm

Как передать computed data в data?

computed: {
    cartTotalCost() {
      let result = []
      if (this.cart_data.length) {
        for (let product of this.cart_data) {
          result.push(product.price * product.amount)
        }
        result = result.reduce(function (sum, el) {
          return sum + el;
        })
        return result
      } else {
        return 0;
      }
    },

затем эту стоимость нужно будет передать в запросе. Каким образом записать его в передаваемый объект?
data() {
    return {
      obj:{
...
   }
  }
 }
  • Вопрос задан
  • 354 просмотра
Решения вопроса 1
0xD34F
@0xD34F Куратор тега Vue.js
Вам это не нужно.

Собирайте "передаваемый объект" перед запросом - часть данных достаёте из обычных свойств компонента, часть из computed. Или можете оформить его как ещё одно computed свойство.

Ну а само свойство cartTotalCost...
...выглядит дико стрёмно. Вместо двенадцати строк достаточно одной:

computed: {
  cartTotalCost() {
    return this.cart_data.reduce((acc, n) => acc + n.price * n.amount, 0);
  },
  ...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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