- if (typeof(person) == 'undefined')
input(type="text", name="person[Name]")
- else
input(type="text", name="person[Name]", value="#{person.Name}")
有没有办法写这个内联?我有一个选项选择,我不想为30+值做一个条件语句来选择正确的选项。
答案 0 :(得分:6)
你可以使用mixins
mixin safeInput(person, property)
- if (typeof(person) == 'undefined')
input(type="text", name="person[#{property}]")
- else
input(type="text", name="person[#{property}]", value="#{person[property]}")
然后
mixin safeInput(person, 'Name')
mixin safeInput(person, 'Email')
...
答案 1 :(得分:4)
条件语句应该
input(type='text', name='person[Name]', value= (person?(person.name?person.name:''):''))
然而,通过设计,我们总能通过一个人?这种方式不需要比较。代码就像是
input(type='text', name='person[Name]', value= person.name)
答案 2 :(得分:0)
您可以如下短路:
input(type="text", name="person[Name]", value="#{person && person.Name}")
答案 3 :(得分:-1)
如果值为undefined
或null
,则不会显示该属性。这应该有效:
input(type='text', name='person[Name]', value= person && typeof(person))