【发布时间】:2012-01-21 09:30:10
【问题描述】:
我觉得做这样的事情真的很愚蠢:
var html = '<div><ul>';
for(var i=0; i<10; i++) {
html += '<li>' + i + '</li>';
}
html += '</ul></div>';
$("body").html(html);
难道没有办法使用模板而不是像那样连接字符串吗?我知道可以选择使用 JS 填充现有元素,并在它们需要出现时更改显示以阻止它们,但这似乎相当不便和烦人,尤其是在使用循环时。
我也愿意接受任何前端模板/框架建议。
这个问题可能以前被问过,但我找不到任何关于 SO 的线索。任何见解将不胜感激。
编辑:
澄清一下,我会对这样的事情感兴趣:
// li_list.haml
%div
%ul
- for i in #{range}
%li i
// app.js
// require li_list.haml with {range: 10}
【问题讨论】:
-
“一种使用模板的方法”?你的意思是?您真正想在这里解决什么问题?
-
为什么不能在服务器上执行此操作(通过服务器页面)?
-
您可以在服务器端创建 HTML 源代码。那会更合适。
-
JavaScript 模板引擎已在 stackoverflow.com/questions/552934/… 中讨论过。
-
@SliverNinja 我需要异步数据。
标签: javascript html templates concatenation