[讨论]jsTemplate解析纯Array的方法

阅读更多
看了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}
     ${p.name|capitalize}${p.desc}
         $${p.price}${p.quantity} : 
             ${p.alert|default:""|capitalize}
         
 {forelse}
     No products in your cart.
 {/for}

而如果我在远程返回一个数组:
var book = {{title:"java web开发详解", author:"孙鑫"},{title:"vc++深入详解", author:"孙鑫"}};

好像用官方的方法就不行了.

最后自己想了一个变通的办法就是
在javascript里加入
var jsbook = book;
jsbook.sbook=book;

然后用下面的方法访问:
{for bks in sbook}
     ${bks.title}${bks.author}
         
 {forelse}
     没有书
 {/for}

大家有没有其它比较优雅的办法讨论一下,谢谢

你可能感兴趣的:(VC++,JavaScript,Web)