node.js 类名 jade 中的变量

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/13668881/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-02 16:44:37  来源:igfitidea点击:

variable in class name jade

node.jsexpresspug

提问by user1860758

I can't set a variable name in a class in jade:

我无法在 jade 的类中设置变量名:

.flag_#{ session.locale } #{ session.locale }

I have:

我有:

<div class="flag_" >en</div>

And I'd like to have

我想要

<div class="flag_en" >en</div>

Thanks

谢谢

回答by karaxuna

Try this (have not tested):

试试这个(没有测试过):

div(class="flag_#{ session.locale }") session.locale

回答by Pablo Armentano

As for [email protected] works this way:

至于 [email protected] 是这样工作的:

div(class="flag_" + session.locale) session.locale

回答by davidnknight

Here's another approach:

这是另一种方法:

mixin formButton(text, type, extra_classes)
    - var default_classes = 'btn btn-primary'
    if extra_classes
        - var classes = default_classes + ' ' + extra_classes
    else
        - var classes = default_classes

    if type
        button(class=classes type=type) !{text}
    else
        button(class=classes type="submit") !{text}


Example 1:


示例 1:

Usage:

用法:

+formButton('Text')

Result:

结果:

<button type="text" class="btn btn-primary" type="submit">Text</button>


Example 2:


示例 2:

Usage:

用法:

+formButton('Text', 'button')

Result:

结果:

<button type="text" class="btn btn-primary" type="button">Text</button>


Example 3:


示例 3:

Usage:

用法:

+formButton('Text', 'button', 'extra-class')

Result:

结果:

<button type="text" class="btn btn-primary extra-class" type="button">Text</button>

回答by dotslashlu

You can also use conditional statementsto do this like

您还可以使用条件语句来执行此操作

  if liked == true
    span.like.active
  else
    span.like