玉变量属性名称

时间:2013-05-20 20:31:28

标签: node.js express pug

我有一个名为current的变量,用于设置html输入的checked

所以current可以是''(空白)或checked=true

由于您无法将HTML属性设置为false,因此我无法执行此操作:

input(checked="#{current}")

所以,我需要使用一个变量作为整个属性。翡翠有可能吗?除了在那里写HTML字符串

编辑更清晰。我想这样做:

someVar = "checked=true"    
input(somevVar) // <input checked="true">

2 个答案:

答案 0 :(得分:1)

jade supports boolean attribute,例如checked直接通过以下语法:

input(type="checkbox", checked=current)

来自文档:

  

还支持布尔属性:

     

输入(type =“复选框”,已选中)

     

仅包含代码的布尔属性   当为true时输出属性:

     

输入(type =“checkbox”,checked = someValue)

确保在布局模板中同时指定!doctype 5指令。

以下是一个例子:

var jade = require('jade');

var templateFn = jade.compile('doctype 5\ninput(type="checkbox", checked=current)\n');
console.log(templateFn({current: true}));
console.log(templateFn({current: false}));

输出:

<!DOCTYPE html><input type="checkbox" checked>
<!DOCTYPE html><input type="checkbox">

答案 1 :(得分:0)

你可以这样做:

input(type='checkbox', id='IsPublic', name='IsPublic', value= model.IsPublic)

其中model.IsPublic来自您在节点中的响应传入的模型。

在上面的例子中,它支持mongodb,模型如下所示:

IsPublic: { type: Boolean, default: false}

在上述情况下,有一个属性表示公共或非你的属性是“当前”。

注意:不要被“模型”混淆我亲自传递所有内容或核心属性作为称为“模型”的对象以保持一致性。在您的情况下,您可能会直接通过该物业,所以不要被该部分混淆,只是为了澄清。