为什么浏览器会在模板中抱怨}?
更新:答案是“;”所以浏览器说错了。 Update2:仍然无法正常工作,因为foreach什么都不返回。 Update3:我知道使用地图不是我的问题。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Test</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<div id="test">
</div>
<script>
let names = ["a", "b"];
template = `<table>
${names.forEach(name => {
`<TR><TD>${name}</TD></TR>`}
);
}
</table>
`;
let div = document.getElementById("test");
div.innerHTML = template;
</script>
</body>
</html>
答案 0 :(得分:1)
这样做怎么样,
let names = ["a", "b"];
template = `<table>
${names.map(name => `<TR><TD>${name}</TD></TR>`)}
</table>
`;
console.log(template);
let div = document.getElementById("test");
div.innerHTML = template;
forEach
方法不返回任何内容。您应map
,因为您希望返回一个数组。