条件 if else 哈巴狗

Condition if else in pug

我想在 pug 中创建一个简单的条件,即: 如果这个元素存在 > 显示这个元素 / Else > 显示一段文字

使用了我的代码:

在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 之后我应该写什么?

  1. items = false 设置 项目为 false,而不仅仅是检查。但即使 == false 也不正确,因为未设置的值与 false 不同。

  2. 你的条件反了;您只想在项目存在时对其进行迭代。因此,您只需删除 = false 并改用 if items 即可,您应该拥有所需的逻辑。

所以我得到了帮助,有了答案:

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 !