У меня есть шаблон схемы 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-тегов?