了解backbone.js和不同的模板系统 我想知道,将对象提供给模板进行渲染的最佳做法是什么。
要么通过整个骨干模型 并使用<%= model.get('name')%>
或传递model.toJSON() 并简单地使用<%= name%>
使用这两种方法中的任何一种方法的优点是什么? 或者我可以选择我认为最有用的东西而不用担心权衡取舍吗?
答案 0 :(得分:4)
这一切都取决于你想做什么,真的。大多数模板系统允许您将任何javascript对象传递给模板,并调用该对象上的方法,属性和其他位。
就个人而言,我总是将model.toJSON()
传递给模板。但是我知道有些人总是将完整的model
传递给模板,然后调用.get就像你正在展示的那样。
_.clone(this.attributes)
。传递给JSON()的好处是你不必在模板中编写额外的代码。你可以直接指定属性。传递完整模型的好处是你可以在你的对象上调用方法...但我认为这是一件坏事,并且方法调用应该在你的视图对象内完成,而不是模板......那是但真的是一个意见问题。