浏览 1338 次
|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
最后更新时间:2006-12-22
看了jsTemplate的官方文档好像是它的{for }{/for}只能迭代已知对象个数的数组:(官方的例子)
var data = {
products : [ { name: "mac", desc: "computer",
price: 1000, quantity: 100, alert:null },
{ name: "ipod", desc: "music player",
price: 200, quantity: 200, alert:"on sale now!" },
{ name: "cinema display", desc: "screen",
price: 800, quantity: 300, alert:"best deal!" } ],
customer : { first: "John", last: "Public", level: "gold" }
};
官方是这样访问的:
{for p in products}
<tr><td>${p.name|capitalize}</td><td>${p.desc}</td>
<td>$${p.price}</td><td>${p.quantity} :
${p.alert|default:""|capitalize}</td>
</tr>
{forelse}
<tr><td colspan="4">No products in your cart.</tr>
{/for}
而如果我在远程返回一个数组:
var book = {{title:"java web开发详解", author:"孙鑫"},{title:"vc++深入详解", author:"孙鑫"}};
好像用官方的方法就不行了. 最后自己想了一个变通的办法就是 在javascript里加入 var jsbook = book; jsbook.sbook=book; 然后用下面的方法访问:
{for bks in sbook}
<tr><td>${bks.title}</td><td>${bks.author}</td>
</tr>
{forelse}
<tr><td colspan="2">没有书</tr>
{/for}
大家有没有其它比较优雅的办法讨论一下,谢谢 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |



