我如何处理 EJS 中 html 标记的值属性中的变量?

问题描述 投票:0回答:0

我正在关注 odin 项目,在节点课程中他们使用 Jade,但我使用 Ejs 作为模板语言。 我有以下代码:

    <%- include ./partials/startBody.ejs %>

<div class="col-sm-10">
  <h1><%= title %></h1>

  <form method="POST" action="">
    <div class="form-group">
      <label for="name">Genre:</label>
      <input id="name" class="form-control" type="text" placeholder="Fantasy, Poetry etc." name="name" value="<%= genre.name %> "/>
    </div>
    <button class="btn btn-primary" type="submit">Submit</button>
  </form>
  <% if (typeof errors !== "undefined") { %>
    <ul>
      <% for (var error of errors) { %>
        <li><%= error.msg %></li>
      <% } %>
    </ul>
  <% } %>

<%- include ./partials/endBody.ejs %>

当用户输入不完整的数据时,这条路线需要处理表单,因此它必须返回输入的数据,我有一个问题,当第一次渲染视图时,名称为 id 的输入没有值,因为没有定义类型,

      <input id="name" class="form-control" type="text" placeholder="Fantasy, Poetry etc." name="name" value="<%= genre.name %> "/>

我还尝试了以下内容:

      <input id="name" class="form-control" type="text" placeholder="Fantasy, Poetry etc." name="name" value="<%= if (typeof genre.name !== &quotundefined&quot) {genre.name}%> "/>

但是它无法识别 if, 我该如何处理?

非常感谢!

html conditional-statements attributes ejs templating
© www.soinside.com 2019 - 2024. All rights reserved.