(此问题与this one)
有关我有一个web2py应用程序,我想用一些ember.js代码扩展。 web2py和ember.js中模板系统的分隔符冲突(都是{{
和}}
)。由于我的应用程序没有ember.js遗留问题,我想使用不同的分隔符编写ember.js代码。这可能吗?
答案 0 :(得分:4)
ember.js使用的模板引擎是Handlebars.js,我认为你不能更改分隔符。 我已经看到了另一个问题,也许可以在这里找到另一个答案:Handlebars.js in Django templates
答案 1 :(得分:3)
在web2py中:response.delimiters =('[[',']]')
答案 2 :(得分:1)
如果您不想更改任何分隔符(在web2py或手柄中),可以通过将把手模板保存在外部文件中来完成,例如 people.hbs web2py / static /文件夹,例如
{{#each people}}
<div class="person">
<h2>{{first_name}} {{last_name}}</h2>
</div>
{{/each}}
在视图中使用jQuery load() function导入该文件。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script src="https://raw.github.com/wycats/handlebars.js/master/dist/handlebars.js"></script>
<div id="list"></div>
<script id="people-template" type="text/x-handlebars-template"></script>
<script type="text/javascript">
$('#people-template').load('/static/people.hbs', function() {
var template = Handlebars.compile($("#people-template").html());
var data = {
people: [
{ first_name: "Alan", last_name: "Johnson" },
{ first_name: "Allison", last_name: "House" },
]
};
$('#list').html(template(data));
});
</script>