如何遍历模板中的数组?

时间:2019-09-10 19:16:04

标签: angular angular-schematics

我在项目中使用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; });

有人知道实现此目标的正确方法是什么?我在文档中找不到它。

谢谢!

1 个答案:

答案 0 :(得分:1)

我终于找到了!我必须在具有逻辑的块中使用<%而不是<%=

<%=仅应用于要显示的块。

最终版本:

<h1>Numbers</h1>

  <% for(let n in numbers) { =>

  <p><%= n %></p>

  <% } %>

顺便说一句,我一直在寻找的结果是使用for ... of ...而不是for ... in ...来得到的,但是它们都可以工作。