我有:
input(type="hidden" name="x" value=pax?pax.C1a:undefined)
当传递给pax
的{{1}}为response.render
时,输出呈现为:
{ C1a: true }
难道不是“真实”吗?
<input type="hidden" name="x" value="value" />
为假时,将其呈现为:
pax.C1a
答案 0 :(得分:2)
来自HTML5 spec:
许多属性是布尔属性。元素上存在布尔属性表示真实值,而缺少该属性则表示假值。
如果存在该属性,则其值必须为空字符串或该属性的规范名称的ASCII大小写不匹配的值,且没有前导或尾随空格。
注意: 布尔属性不允许使用值“ true”和“ false”。
<input type="hidden" name="x" value="value" />
是我引用的第二段中提到的第二种情况;第一种情况是<input type="hidden" name="x" value />
,都代表真正的布尔值。该注释明确指出应该 不应该发生的事情(value="true"
。
如果您确实需要value="true"
,则必须将其视为文本属性,并使用{ C1a: "true" }
进行渲染。