Express Jade变量插值-未定义属性时的默认值?

Express Jade变量插值-未定义属性时的默认值?,express,pug,Express,Pug,我有一个用于更新用户数据的表单,该表单使用存储在数据库中的现有字段值填充每个输入。但是,对于新用户,某些值尚未提交到数据库,因此我希望输入框为空 为了显示用户数据,我使用Jade的插值功能查看通过routes.js文件传入的{user.local}对象 它看起来像这样(片段): 当定义了属性时,这很有效,但它(正确地)将undefined作为未定义属性的输入中的文本插入 如果一个变量没有被设置,我有没有办法将它设置为默认值 比如: input(type="text", value="#{user

我有一个用于更新用户数据的表单,该表单使用存储在数据库中的现有字段值填充每个输入。但是,对于新用户,某些值尚未提交到数据库,因此我希望输入框为空

为了显示用户数据,我使用Jade的插值功能查看通过
routes.js
文件传入的
{user.local}
对象

它看起来像这样(片段):

当定义了属性时,这很有效,但它(正确地)将
undefined
作为未定义属性的输入中的文本插入

如果一个变量没有被设置,我有没有办法将它设置为默认值

比如:

input(type="text", value="#{user.local.firstName || 'Default Text'"})

使用jade~1.9.2,我尝试了

input(type='text' class='form-control' id='line6Name' name='param6' value='#{device.param6||""}')
以我正在写的形式。它为未定义的值提供默认的空字符串

我敢打赌,如果你把最后的双引号移到哪里,你那里的代码会起作用

发件人:

致:


你找到解决办法了吗?我现在有完全相同的问题,正在寻找解决方案。而不是翡翠本身。我想我只需要给我的控制器添加一些逻辑,这样,当它检索数据时,它就会用任何空字符串或任何东西来替换
未定义的
。然后,数据将通过路由器传递到视图。使用jade~1.9.2,
input(type='text'class='form-control'id='line6Name'name='param6'value='#{device.param6 | |”“}')
为未定义的值提供默认的空字符串。我愿意成为你那里的代码,如果你把结尾的双引号移到哪里,它就会起作用。我会试试看——你为什么不把它写下来作为一个答案,这样我就可以接受它,如果它起作用的话!谢谢@ZacharyJacobitis的工作很有魅力。原来你是对的-我的大括号应该在最后一个引号之前终止。
input(type='text' class='form-control' id='line6Name' name='param6' value='#{device.param6||""}')
input(type="text", value="#{user.local.firstName || 'Default Text'"})
input(type="text", value="#{user.local.firstName || 'Default Text'}")