组织Handlebars文件
Organizing Handlebars files
在这个简单的例子中。。。
http://plnkr.co/edit/78ObAiirrSFPcvyiBKqn
我尝试有一个Handlebars模板和应该将其填充到单独文件中的内容,而不是像另一个例子中那样将模板放在HTML中,将内容对象放在js脚本中:
http://embed.plnkr.co/KXdVgedRA8K95S17peuH/
我还发现了这个帖子,这个家伙的意思和我一样(对吧?):
使用Handlebars.js(jQuery Mobile环境)预编译模板
我试过了(接受的答案是什么,请参阅下面的代码),但它不起作用。我得到"未定义不是函数"。
另一方面,这个答案有90票赞成,所以我一定在某个地方遗漏了什么。有人能告诉我吗?
另一个相关的问题是:我应该使用AJAX加载本地文件吗?
index.html
<script src="cities.tmpl.js"></script> <!-- compiled template -->
<script src="content.js"></script>
<script src="script.js"></script>
script.js
var template = Handlebars.templates['cities.tmpl']; // your template minus the .js
var context = data_pr.all(); // your data
var html = template(context);
解决了它,基于这篇文章:
http://www.jblotus.com/2011/05/24/keeping-your-handlebars-js-templates-organized/
我做了一点改动,这样更容易阅读(至少对我来说):
function getTemplate(path, callback) {
$.ajax({
url: path,
success: function(data) {
var template = Handlebars.compile(data);
if (callback) callback(template);
}
});
}
getTemplate('cities.tmpl', function(template) {
var html = template(data_pr); // data_pr = my data from content.js
document.getElementById('cities-placeholder').innerHTML = html;
});
此处的示例代码
相关文章:
- 如何播放部分音频文件
- 从桌面读取python文件时高亮显示代码
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 如何使用WCF服务和javascript表单post上传.doc文件
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 如何在生成下载文件时显示加载动画
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 正在SharePoint 2013母版页中添加JQuery移动文件
- 如何在php文件中获取$.post-ajax传递的值
- 直接下载文件,而不是从window.open(url)
- 如何在android中使用phonegap将文件从一个文件夹移动/复制到另一个文件夹
- 使用压缩的JavaScript文件(不是运行时压缩)
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- 如何在elfinder插件(一个文件管理器插件)上获得上传前事件
- Handlebars,加载外部模板文件
- 组织Handlebars文件
- 如何在不使用{{#each}}或{{#if}}的情况下从Handlebars.js中的.json文件中获取数据
- Ember.js / Ember-i18n:是否可以从 Handlebars 模板中迭代翻译文件中的属性