Javascript 内联条件
有没有办法把这个写进去?我有一个选项select,我不想对30+个值执行条件语句来选择正确的选项。当值为Javascript 内联条件,javascript,node.js,express,pug,Javascript,Node.js,Express,Pug,有没有办法把这个写进去?我有一个选项select,我不想对30+个值执行条件语句来选择正确的选项。当值为未定义或空时,属性将不会显示。这应该起作用: - if (typeof(person) == 'undefined') input(type="text", name="person[Name]") - else input(type="text", name="person[Name]", value="#{person.Name}") 你可以用混合器 input(
未定义
或空
时,属性将不会显示。这应该起作用:
- if (typeof(person) == 'undefined')
input(type="text", name="person[Name]")
- else
input(type="text", name="person[Name]", value="#{person.Name}")
你可以用混合器
input(type='text', name='person[Name]', value= person && typeof(person))
然后
条件语句应该做什么
mixin safeInput(person, 'Name')
mixin safeInput(person, 'Email')
...
然而,通过设计,我们总是可以通过一个人?这样就不需要进行比较。代码应该是这样的
input(type='text', name='person[Name]', value= (person?(person.name?person.name:''):''))
您可以按如下方式短路:
input(type='text', name='person[Name]', value= person.name)
不幸的是,如果未定义person,Jade将显示500 ReferenceError。如果定义了person,则表示“字符串”,而不是输入框中的值。那没用,嗯,不错。我必须看看这是否也适用于选项选择。谢谢这当然很好。传递空对象以防止“未定义”错误,无需混合或条件。我使用JavaScript选择列表中的选项,因为条件语句不起作用。
input(type='text', name='person[Name]', value= person.name)
input(type="text", name="person[Name]", value="#{person && person.Name}")