Jade变量插值 - 如果属性未定义,则为默认值?

问题描述 投票:2回答:1

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

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

看起来像这样(片段):

input(type="text", name="firstname", value="#{user.local.firstName}")

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

如果没有设置变量,有没有办法让我将变量设置为默认值?

就像是:

input(type="text", value="#{user.local.firstName || 'Default Text'"})
express pug
1个回答
2
投票

使用jade~1.9.2,我试过了

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'}")
© www.soinside.com 2019 - 2024. All rights reserved.