【问题标题】:Generated Attributes in JadeJade 中的生成属性
【发布时间】:2013-03-04 01:54:38
【问题描述】:

有没有办法在 Jade 中使用 JavaScript 生成属性?

在某些方面,例如 EJS,可以做到:

<div <?- bool ? 'attribute' : 'no attribute' ?>>

显然,Jade 中没有等价物。当然可以:

option(selected=bool)

Jade 会为此属性生成适当的 HTML 输出。但据我所知,没有比这更复杂的写法了。

问题不在于是否需要这样做;如果没有这个,一个人可能会过得去。但是,在 Jade 中是否有可能,我只是不知道?

【问题讨论】:

    标签: javascript pug


    【解决方案1】:

    根据您的具体情况,您有几个选择。

    如果'no attribute' 试图排除attribute,您可以set it to null or undefined(不过,正如您已经指出的,false 也可以工作):

    div(attribute=condition ? 'value' : null)
    

    但是,如果您的意图是属性交换,您可以使用 embedded markupinterpolation 完成此操作:

    | <div #{bool ? 'attribute' : 'no-attribute'}>
    

    或者,我认为您必须分别设置每个条件:

    div(attribute=bool, no-attribute=!bool)
    

    还有一些关于指定对象属性的建议,例如#664,它提供了mixins 的可能替代方案。

    【讨论】:

    • 有趣。唯一的问题是它是 HTML 而不是 Jade。如果我想为这个元素嵌套子元素,它如何在 Jade 模板的缩进流程中发挥作用?
    猜你喜欢
    • 2011-11-09
    • 2013-05-05
    • 2013-07-26
    • 2016-04-02
    • 2012-05-23
    • 1970-01-01
    • 2016-06-05
    • 2012-11-15
    • 1970-01-01
    相关资源
    最近更新 更多