угловая схема генерирует пустые строки в шаблоне, как это предотвратить? - PullRequest
0 голосов
/ 06 ноября 2019

У меня есть шаблон схемы ng __name@dasherize__.component.html с содержанием:

<% for (let row of getComponents().rows) { %>
<div class="row">
  <% for (let field of row.fields) { %>
  <% if (field.type === 'InputString') { %>
  <field labelCode="code" class="col-sm-6 col-md-3">
    <input name="code" ngModel [readonly]="readOnly">
  </field>
  <% } %>
  <% } %>
</div>
<% } %>

Я создаю его с помощью:

npm run build 
schematics .:ui-generator --name=hello

Сгенерированный код создает пустые строки на местегде в шаблоне помещается команда "<%", см .: </p>

<div class="row">


  <field labelCode="code" class="col-sm-6 col-md-3">
    <input name="code" ngModel [readonly]="readOnly">
  </field>



  <field labelCode="code" class="col-sm-6 col-md-3">
    <input name="code" ngModel [readonly]="readOnly">
  </field>



  <field labelCode="code" class="col-sm-6 col-md-3">
    <input name="code" ngModel [readonly]="readOnly">
  </field>




</div>

Если я добавлю команды схемы в шаблон после html-тегов, как здесь:

<div class="row"><% for (let field of row.fields) { %><% if (field.type === 'InputString') { %>
      <field labelCode="code" class="col-sm-6 col-md-3">
          <input name="code" ngModel [readonly]="readOnly">
      </field><% } %><% } %>
    </div><% } %>

тогда HTML генерируется так, как должно быть - без пустых строк.

<div class="row">
  <field labelCode="code" class="col-sm-6 col-md-3">
      <input name="code" ngModel [readonly]="readOnly">
  </field>
  <field labelCode="code" class="col-sm-6 col-md-3">
      <input name="code" ngModel [readonly]="readOnly">
  </field>
  <field labelCode="code" class="col-sm-6 col-md-3">
      <input name="code" ngModel [readonly]="readOnly">
  </field>
</div>

Что я не прав? Можно ли написать шаблон схемы команды в «читабельном» стиле? Я имею ввиду в отформатированном стиле или действительно нужно ставить команду после html-тегов?

...