如果 express 返回空值则隐藏元素

hide element if express is returning empty values

我正在 nodejsexpress 上创建应用程序。我从端点获取 json 数据并根据我获取的值在页面上呈现它。

问题是,如果我从 json 数据中得到 null 或未定义的值,我将如何隐藏整个元素。

这是我的代码:

        var obj = JSON.parse(body)

        res.render("index", {
          name : `${obj.data.name}`,
          uname : `${obj.data.username}`,

          bio : `${obj.data.bio}`,
          location : `${obj.data.location}`,
          link : `${obj.data.website}`

hbs 模板页面上的呈现值:

<div class="ml-9 w-full mt-1 px-3 mb-5 inline-block">
        <div class="inline-block mr-5">
            <i class="fas fa-map-marker-alt text-lg opacity-75 inline"></i>
            <p  class="text-xl inline ml-2 bio">{{location}}</p>
        </div>
        <div class="inline-block mx-5">
            <i class="fas fa-link text-lg opacity-75 inline"></i>
            <p  class="text-xl inline ml-2 link text-blue-400">{{link}}</p>
        </div>
        <div class="inline-block mx-5">
            <i class="fas fa-calendar-alt text-lg opacity-75 inline"></i>
            <p  class="text-xl inline ml-2 bio">{{join}}</p>
        </div>
</div>

现在,如果我得到 null 或 undefined location 或 bio,我将如何隐藏整个 div。

您可以使用内置助手 if

您可以在 hbs 模板中使用 IF 条件。

{{#if location}}
<p  class="text-xl inline ml-2 bio">{{location}}</p>
{{/if}}

只有出现时才会打印值。

使用{{#if}}。我想它会解决你的问题