如何使用Jade在迭代中使用条件?

时间:2015-10-16 08:05:16

标签: node.js express pug

我试图在迭代中定位1个元素

http://jade-lang.com/reference/iteration/

each category in categories
    .menu_category
        p= category.category_name

上面是Jade,它遍历一个名为 categories 的对象。我是新手,但我认为这意味着循环通过对象。我在此之前使用ejs并获得与使用for for循环相同的结果

 for(i=0;i<object.length;i++) 

我相信这是一回事。正确?

我尝试使用类别对象中的 category_name 为特定div添加一个div。

所以我正在考虑使用这样的东西:

 if(category.category_name === 'dog')
     // add another class to .menu_category, only to the div that holds 'dog'

Jade说,为了我们的条件,它看起来像这样:

if user.description
    h2 Description
    p.description= user.description
else 
    h2 Description
    p.description.

http://jade-lang.com/reference/conditionals/

如何将另一个类添加到包含条件中匹配的数据的div?

迭代工作正常,但试图弄清楚迭代中的条件拟合如何让我疯狂。特别是我遇到的所有缩进问题。我尝试过很多方法向你展示。我无法理解这一点;如果你能帮我点点滴滴。

顺便说一下,我去玉的原因是因为我无法访问app.locals。如果您对此有任何意见,那就太棒了。

1 个答案:

答案 0 :(得分:2)

这可能就是你要找的东西。这会创建一个div,其中包含一个特定类别的两个类,另一个类用于其他类

each category in categories    
    if(category.category_name === 'dog')
        .menu_category.dog_category
    else
        .menu_category
            << rest of your contents here>>