Использование динамического имени в v: привязка внутри v-для

#laravel #laravel-5 #vue.js #vuejs2 #vue-component

#laravel #laravel-5 #vue.js #vuejs2 #vue-компонент

Вопрос:

Итак, в принципе, у меня есть массив products и массив prices, внутри которого есть массив product_id (и внутри этого массива у меня есть данные price и priceAfterDiscount). Проблема в том, что я не могу передать эти данные с помощью v-bind. (См. :price=»`цены.продукт_${product.id }.price`») Это отображает, например, строку prices.product_8.price вместо попадания в массив.

Заранее спасибо. Код приведен ниже

 <ProductCard v-for="product in products.data"
  :product="product"
  :key="product.id"
  :userСurrency="userСurrency"
  :user-currency-code="userCurrencyCode" 
  :price="`prices.product_${product.id}.price`" />   
  

Ответ №1:

Я немного запутался? prices Теперь это массив или объект? Я буду считать object из-за его использования. В этом случае вы можете использовать оператор индексирования для передачи строки следующим образом:

 <ProductCard v-for="product in products.data"
  :product="product"
  :key="product.id"
  :userСurrency="userСurrency"
  :user-currency-code="userCurrencyCode" 
  :price="prices[`product_${product.id}`].price" />