Состояние если еще в мопс - PullRequest
1 голос
/ 20 марта 2020

Я хотел бы сделать простое условие в pug: если этот элемент существует> Показать этот элемент / Остальное> Показать текст

Используется мой код:

В app. js:

  axios
    .get(`${process.env.API_URL}/party/${req.params.id}`)
    .then(({ data }) => {
      let items = null;
      data.items.length === 0 ? items = false : items = true;
      res.render('party', { 
        party: data,
        title: data.name,
        items,
        url: `${process.env.FRONT_URL}:${process.env.PORT}/party/${data._id}` 
    })})
    .catch((err) => console.log(err))
  ;
});

В моем файле .pug:

if items = false
  each item in party.items
    form(method="post" action=`/party/${party._id}/items/${item._id}`)
      p= `${item.name} - ${item.user}`
      button(type="submit") Supprimer
else 
  p Il n'y a pas encore d'objet. Ajoutez-en un !

Что я должен написать после моего if?

Ответы [ 2 ]

0 голосов
/ 22 марта 2020

Итак, мне помогли, и есть ответ:

each item in party.items
  form(method="post" action=`/party/${party._id}/items/${item._id}`)
    p= `${item.name} - ${item.user}`
    button(type="submit") Supprimer
if party.items.length === 0 
  p Il n'y a pas encore d'objet. Ajoutez-en un !
0 голосов
/ 20 марта 2020
  1. items = false будет устанавливать элементы на false, а не просто проверять. Но даже == false не будет правильным, поскольку неустановленное значение не совпадает с ложным.

  2. ваше условие задом наперед; Вы хотите перебирать элементы, только если они присутствуют. Таким образом, вы можете просто удалить = false и использовать if items вместо этого, и вы должны иметь логин c, который вы хотите.

...