underscore.js模板内如何定义循环输出?

在网上找了许多资料都没找到,所以就在这里向大家请教了。

想问一下,用underscore.js去定义模板的时候,应该如何定义里面的循环输出呢?打比方说像下面这样?

<script type="text/template" id="myTemplate">
/***
循环输出
****/
{foreach from=$custid item=curr_id}
    <div>{$curr_id}</div>
{/foreach}
</script>
阅读 11.5k
2 个回答

你想要这样的?

var tmp = '<% for (var i = 0; i < count; i++) { %>' +
            '<div><%= i %></div>' +
            '<% } %>';

// output: <div>0</div><div>1</div><div>2</div><div>3</div><div>4</div>
console.log(_.template(tmp)({count: 5}));

既然是underscore,用underscore内置的方法_.each即可

<% _.each(obj,function(item){ %>
    <div><%= item %></div>
<% }) %>

如果你传入模板的对象直接就是数组的话,用obj引用这个数据,因为默认情况下underscore将传入的对象命名为obj

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题