玉模板标签括号百分比定义

jade template tag bracket percentage definition

我在石膏板注册页面阅读了以下 jade 代码,但不确定 <% <%= 的出现是什么意思?任何人都可以告诉我吗?

  script(type='text/template', id='tmpl-signup')
form
  div.alerts
    |<% _.each(errors, function(err) { %>
    div.alert.alert-danger.alert-dismissable
      button.close(type='button', data-dismiss='alert') &times;
      |<%= err %>
    |<% }); %>
  div.form-group(class!='<%= errfor.username ? "has-error" : "" %>')
    label.control-label Pick a Username:
    input.form-control(type='text', name='username', value!='<%= username %>')
    span.help-block <%= errfor.username %>
  div.form-group(class!='<%= errfor.email ? "has-error" : "" %>')
    label.control-label Enter Your Email:
    input.form-control(type='text', name='email', value!='<%= email %>')
    span.help-block <%= errfor.email %>
  div.form-group(class!='<%= errfor.password ? "has-error" : "" %>')
    label.control-label Create a Password:
    input.form-control(type='password', name='password', value!='<%= password %>')
    span.help-block <%= errfor.password %>
  div.form-group
    button.btn.btn-primary.btn-signup(type='button') Create My Account

<% 和 %> 表示将被解释为 javascript 的代码块,并将在呈现模板之前执行。比如下面的块

input.form-control(type='text', name='email', value!='<%= email %>')

会将变量 'email' 插入到呈现的 html 中,以便文本框的值等于该变量。类似地,forEach 循环和 IF 语句在插入 <% %> 块

时就像它们在普通 JavaScript 中的作用一样