如果有一个名为的主干模型Person
,它具有属性firstName
,lastName
。通常,访问它就像person.get('firstName')
和person.get('lastName')
。
我如何在 Handlebar 模板中做类似的事情,其中 aperson
已暴露于上下文中。
如果有一个名为的主干模型Person
,它具有属性firstName
,lastName
。通常,访问它就像person.get('firstName')
和person.get('lastName')
。
我如何在 Handlebar 模板中做类似的事情,其中 aperson
已暴露于上下文中。
渲染 Handlebars 模板时,需要传入模型的属性。推荐的方法是调用,它返回模型内部哈希Model.toJSON
的副本。attributes
var template = Handlebars.compile(templateHtml);
var rendered = template({ person: model.toJSON() });
在模板中,您可以通过属性名称访问上下文。
<span>{{person.firstName}} {{person.lastName}}</span>
实际上,我有很多 .toJSON 的地方,所以我开发了一个 Handlebars 修改来处理主干模型:
https://gist.github.com/4710958
它将检查一个值是否是 Backbone.Model 的实例,如果是,它将调用 .get() 方法。
Backbone.Model 应该是全局的才能使用它。
{{ user.address.street }}
将被解析为:
user.get("adress").street