Я даже не уверен, смогу ли я сказать это правильно.Я пытаюсь создать цикл, который проходит через переданный массив изображений.Если я вызываю изображение напрямую, оно работает как положено
console.log (p.image1)
, но я не могу понять, как это сделать для цикла.Я знаю, что есть способ, которым я просто не могу его найти.
Я пробовал несколько разных способов сделать это, но я продолжаю кодировать по кругу.
Это моя модель: ...
prodImages:[
{
image1: {type: String,required: false},
image2: {type: String,required: false},
image3: {type: String,required: false},
...
}
]
Это мой контроллер: ...
const product = await Product.findById(prodId);
const prodImages = product.prodImages;
try{
res.render('admin/edit-product', {
prodImages: prodImages,
...
}
}
Это мой цикл, написанный на Pug: ...
-var i = 1
each p in prodImages
while i < 21
//- p.image1 returns image1 name from db
mixin image(p, i, title)
-var prodImg = 'p.'
-var img = 'image' + i
-var imageLink = prodImg + img
img.product-img(src='/images/' + imageLink, id='image' + i, alt=title)
+image(p, i, product.title)
- i++
Я бы хотелвывод будет:
img class="product-img" src="/images/87b0e842d4f503f96b86d0106de08fd2.jpg " id="image1" alt="title"
но я получаю:
img class="product-img" src="/images/p.image1" id="image1" alt="title"
Это вывод моей консоли:
CoreMongooseArray [
{ _id: 5c2093e4328e48573485d0aa,
image1: '87b0e842d4f503f96b86d0106de08fd2.jpg',
image2: '35f6b5501e409f55efabe428909aebb1.jpg',
image3: 'd5a90b18a1e40905c6ca49318ccbd33e.jpg',
}]