Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 内联条件_Javascript_Node.js_Express_Pug - Fatal编程技术网

Javascript 内联条件

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(

有没有办法把这个写进去?我有一个选项select,我不想对30+个值执行条件语句来选择正确的选项。

当值为
未定义
时,属性将不会显示。这应该起作用:

  - 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}")