@Lirrr
Учусь вебу

Как в pug миксином передать разные данные для однотипных карточек?

Только начинаю трогать pug и нуждаюсь в помощи.
Сделал шаблон карточки в pug файле, который с помощью миксина хочу передавать в другой файл с разными данными (дополнительным классом, картинкой и текстовыми данными):

mixin masonry-card(ClassName, product)
  .masonry-card(class= ClassName)
    a.masonry-card__img-wrapper(href="#")
      img.masonry-card__img(src="img/" + product.img)
    .masonry-card__info
      a.masonry-card__title(href="#")= product.title
      a.masonry-card__author(href="#")= product.author
      span.masonry-card__type Картина,  80x60 см.
    .masonry-card__footer
      .masonry-card__price= product.price
        <span class="masonry-card__price-rub">7</span>
      .masonry-card__old-price= product.oldPrice

Пытаюсь вставить в другой файл таким способом:

include ../masonry-card/masonry-card
      +masonry-card('new-works__grid-item', {img: 'masonry-card-1.jpg', title: 'abc', author: 'author', price: '12348', oldPrice: '23456'})


Выдает ошибки, видно что-то не так с синтаксисом. Как сделать правильно, чтобы работало? И если этих карточек будет, допустим, 10 штук, как мне их перебрать давая подобные данные каждой из них?
И еще один вопрос: допустим некоторым карточкам выборочно я хочу добавлять какой-то div, как это можно сделать?
  • Вопрос задан
  • 27 просмотров
Решения вопроса 1
SagePtr
@SagePtr
Еда - это святое
Не уверен, что уровень вложенности у вас правильный, попробуйте элемент разместить на одном уровне с include:
include ../masonry-card/masonry-card
+masonry-card('new-works__grid-item', {img: 'masonry-card-1.jpg', title: 'abc', author: 'author', price: '12348', oldPrice: '23456'})
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
fomenkogregory
@fomenkogregory
Юниор софтварный инженер
Когда передаешь объект, он должен быть в json формате т.е. тебе ключи надо в ковычки взять
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы