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

时间:2015-01-31 20:47:19

标签: node.js pug template-engine

我正在阅读干墙注册页面中的以下玉码,并且不确定<%<%=的含义是什么?任何人都可以告诉我吗?

  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

1 个答案:

答案 0 :(得分:0)

&lt;%and%&gt;表示将被解释为javascript的代码块,并将在呈现模板之前执行。例如,以下块

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

将插入变量&#39; email&#39;进入渲染的html,以便文本框的值等于该变量。类似地,forEach循环和IF语句的功能与插入到&lt; %%&gt;中的纯JavaScript一样。块