使用handlebars.js來處理json template
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了使用handlebars.js來處理json template,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2794字,纯文字阅读大概需要4分钟。
内容图文
![使用handlebars.js來處理json template](/upload/InfoBanner/zyjiaocheng/1097/77ab2e824e77473a8d7461e11aa1d8fb.jpg)
使用json資料後的套版問題
我相信很多人在取得json資料後會用Jquery處理套版的問題:
<pre prettyprinted"="" style="border: 1px solid #cccccc; font-family: ‘Courier 10 Pitch‘, Courier, monospace; font-size: 19px; margin-top: 0px; margin-bottom: 34px; outline: 0px; padding: 2px; vertical-align: baseline; line-height: 34px; overflow: auto; max-width: 100%; background: #f5f5f5;">$.ajax({....done(function(data){var context = $("<ul></ul>"); $.each(data,function(i, v){ content.append(‘<li>‘+ v +‘</li>‘);...});});});
數量上面少還好,如果是很複雜的template,這樣寫會變得超級難維護。這時候JS template系統就會發揮作用了。
選擇有很多種,有Mustache, Handlebars與Jquery Templating
這裡只介紹Handlebars,因為功能比Mustache多一些,語法又比Jquery Templating 精簡一些。在套入Rails時,更可以將templates獨立出來在一個目錄裡面,不然東西都寫在html裡真的亂糟糟又難管理。
- 安裝handlebars assets, 依照指示在Gemfile中,然後在欲載入之js中用require的方式載入,這邊使用 //= require handlebars.runtime
- 設定template目錄並且require到欲載入的js檔。依照說明檔在app/assets/javascripts中建立templates目錄,然後在templates中建立相對應的資料夾,通常以會用到的model或controller命名。
- handlebars用法參考官方網站
- 建立template檔案。注意需要以.hbs(代表handlebars)為檔案結尾。內容範例如下:
`\
{{#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}}
`\
- 由上列程式可以看到放在template檔中的資料是可以不用放在script tag的,真的很方便,而且可以獨立維護。
- 既然不使用script tag的方式,那麼指定與載入template的方法就變成gem說明的那樣: HandlebarsTemplates[‘contacts/new‘];中括號裡面的是templates目錄的路徑與檔案。需要注意的是如果templates資料夾裡面沒有任何.hbs檔案,那麼HandlebarsTemplates便會無法建立。
- 參考以下範例,以ajax取得json的方式:
`\
$.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裡面了。
原文:http://www.cnblogs.com/Jw-Li/p/4492313.html
内容总结
以上是互联网集市为您收集整理的使用handlebars.js來處理json template全部内容,希望文章能够帮你解决使用handlebars.js來處理json template所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。