扩展对象以在Jade中设置属性

Pre*_*aul 8 attributes templates pug

我希望能够使用表示元素属性的键/值对传入对象.翡翠有可能吗?

任何允许我将属性集合传递到模板中的解决方案就足够了,但是将显式声明的属性与从对象中提取的属性(如下所示)混合的能力将是理想的.

以下语法不起作用,它只是我想要做的一个例子.

例如,如果我通过了这个:

{ 
    name:'username',
    value:'bob',
    attributes: {
        maxlength: 16
    }
}
Run Code Online (Sandbox Code Playgroud)

到这个模板:

input(name=name, value=value, attributes)
Run Code Online (Sandbox Code Playgroud)

期望的输出是:

<input name="username" value="bob" maxlength="16" />
Run Code Online (Sandbox Code Playgroud)

Jon*_*han 5

由于您是GitHub上此问题的一部分,您可能已经知道了答案.但是,对于其他任何人来说,这就是答案:

玉:

input.foo(name=name value=value)&attributes(attrs)
Run Code Online (Sandbox Code Playgroud)

将此数据传递给渲染函数:

{
    name: 'username',
    value: 'bob',
    attrs: {
        maxlength: 16
    }
}
Run Code Online (Sandbox Code Playgroud)

输出:

<input name="username" value="bob" class="foo" maxlength="16"/>
Run Code Online (Sandbox Code Playgroud)

  • 我很感激回应.这已经存在了一段时间,我老实说忘了它在这里.正如github问题所述:**&属性不会转义输出所以请谨慎使用** (2认同)