为了简单起见,我应该
$(@el).html @template(model: @model)
或
$(@el).html @template(@model.toJSON())
我曾经是第一种方式,这就是我所教的。但最近我发现第二种方式也是可以接受的。在渲染模板时,它至少节省了很多@ model.get(“attribute_name”)。
那么最好的方法是什么?
答案 0 :(得分:3)
我认为@model.toJSON()
更好,因为你提到的原因:它使得模板更清晰。
此:
<div><%= name %></div>
眼睛比以下容易:
<div><%= this.model.get("name") %></div>
查看Backbone.js上的一些example apps,您会看到他们使用.toJSON()
方法。
<子>
我想这也是一个问题,你是否希望你的模板能够访问完整的View对象。显然,一旦你使用toJSON()
,这是不可能的。对我而言,没有这种访问权限是关注问题的分离,因为模板应该是关于表示的,使用最少的代码,并且尽可能接近常规的HTML标记。
子>