检查数组是否有值,如果没有则添加类

时间:2015-05-25 11:08:38

标签: express pug

我有一个用Jade编写的类别名称列表。

ul
    li Discussion
    li Movie
    li Music
    li Performance
    li Dance
    li Theatre

我有一些json,它显示了为特定事件添加了哪种类别:

…
values: [
{
    ordinal: 50469,
    db_value: 626,
    id: 50469,
    value: "Discussion"
},
{
    ordinal: 50470,
    db_value: 623,
    id: 50470,
    value: "Dance"
}
],
…

我有一条获得类别值的路线:

res.render("event", {
            categories: data.result.properties.category.values
        })

如何实现这样的结果,if / else检查该值是否等于li标签中的相同内容,如果它在json数组中不存在,则会添加一个类.unactive:

<ul>
    <li>Discussion</li>
    <li class="unactive">Movie</li>
    <li class="unactive">Music</li>
    <li class="unactive">Performance</li>
    <li>Dance</li>
    <li class="unactive">Theatre</li>
</ul>

1 个答案:

答案 0 :(得分:0)

我会先将数据按一下以便于渲染的格式,如下所示:

ul
  each category in categoryNames
    li category

现在你可以得到你正在寻找的行为:

ul
  each category in ['Discussion', 'Movie', 'Music', 'Performance', 'Theatre']
    li(class=(categoryNames.indexOf(category) === -1) ? "" : "inactive") #{category}

但如果你真的想保持&#34;禁用&#34; cateogry标签周围,您可以使用这样的内联条件:

{{1}}