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


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

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


 <script type="text/template" id="myTemplate">
/***
循环输出
****/
{foreach from=$custid item=curr_id}
    <div>{$curr_id}</div>
{/foreach}
</script>

underscore JavaScript

我是来求图包的 11 years, 3 months ago

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


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

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

主公大事不好了 answered 11 years, 3 months ago

你想要这样的?


 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}));

阿斯貝爾.蘭特 answered 11 years, 3 months ago

Your Answer