我在项目中使用Angular's schematics。
我有一个数字数组:export function schematics(_options: Schema): Rule {
return (tree: Tree, _context: SchematicContext) => {
const numbers = [1, 2, 3, 4, 5];
const sourceTemplate = url('./files');
const sourceParametrizedTemplate = apply(sourceTemplate, [
template({
..._options,
...strings,
numbers
})
]);
return mergeWith(sourceParametrizedTemplate)(tree, _context);
};
}
我想将它们打印在HTML模板中。我通过以下方式传递数组:
<h1>Numbers</h1>
<%= for(let n in numbers) { =>
<p><%= n %></p>
<%= } %>
我正在考虑做这样的事情:
index.html
SyntaxError: Unexpected token for
但是我收到错误function format(file) {
if(file === null) return;
const document = new DomParser().parseFromString(file, 'text/html');
// text table format
document.querySelectorAll('table').forEach((table) => {
table.className = 'table';
});
// img
document.querySelectorAll('img').forEach((img) => {
img.className = 'img';
img.src = img.getAttribute('data-original');
// or img.src = img.dataset.original;
});
。
有人知道实现此目标的正确方法是什么?我在文档中找不到它。
谢谢!
答案 0 :(得分:1)
我终于找到了!我必须在具有逻辑的块中使用<%
而不是<%=
。
<%=
仅应用于要显示的块。
最终版本:
<h1>Numbers</h1>
<% for(let n in numbers) { =>
<p><%= n %></p>
<% } %>
顺便说一句,我一直在寻找的结果是使用for ... of ...
而不是for ... in ...
来得到的,但是它们都可以工作。