标签:
我相信很多人在取得json資料後會用Jquery處理套版的問題:
$.ajax({ ... .done(function(data) { var context = $("<ul></ul>"); $.each(data, function(i, v){ content.append(‘<li>‘ + v + ‘</li>‘); ... }); }); });
數量上面少還好,如果是很複雜的template,這樣寫會變得超級難維護。這時候JS template系統就會發揮作用了。
這裡只介紹Handlebars,因為功能比Mustache多一些,語法又比Jquery Templating 精簡一些。在套入Rails時,更可以將templates獨立出來在一個目錄裡面,不然東西都寫在html裡真的亂糟糟又難管理。
`\
{{#each feeds}} <table width="100%" class="feed_container"> <tr> <td> <span class="handle fa fa-arrows-v"></span> #{{index}} {{from}} 於 {{created_at}} 分享 <a class="feed_remove" href="#"><i class="fa fa-trash-o"></i>移除</a> </td> </tr> <tr> <td><img src="{{image}}" ></td> </tr> <tr> <td> <a href="{{link}}" target="_blank">連結</a> </td> </tr> <tr> <td> {{title}} - {{from_web}} </td> </tr> <tr class="border_bottom"> <td>{{description}}</td> </tr> </table> {{/each}}
`\
`\
$.ajax("/get_json", { type: "POST", data: $("form:first").serialize(), success: function(data) { var renderer = HandlebarsTemplates[‘somemodel/new‘]; var result = renderer(data); $("#container").html(result); }
`\
這樣就不用把templates寫到js裡面了。
使用handlebars.js來處理json template
标签:
原文地址:http://www.cnblogs.com/Jw-Li/p/4492313.html