4

了解backbone.js 和我想知道的不同模板系统,将对象提供给模板进行渲染的最佳实践是什么。

要么传入整个主干模型并使用 <%= model.get('name') %>

或传递 model.toJSON() 并简单地使用 <%= name %>

使用这两种方法中的任何一种的优点/缺点是什么?还是我可以选择我认为最有用的东西而不用担心取舍?

4

1 回答 1

4

这一切都归结为你想做什么,真的。大多数模板系统允许您将任何 javascript 对象传递给模板并调用该对象上的方法、属性和其他位。

就个人而言,我总是将 传递model.toJSON()给模板。但我知道一些人总是将完整model的模板传递给模板并调用 .get 就像你展示的那样。

没有太多的权衡。做任何一个都没有性能损失。调用 .toJSON() 是一个如此快速的调用,因为它只是_.clone(this.attributes)在幕后调用。传递 toJSON() 的好处是您不必在模板中编写额外的代码。您可以直接指定属性。传递完整模型的好处是你可以在你的对象上调用方法......但我认为这是一件坏事,方法调用应该在你的视图对象内完成,而不是模板......那就是不过,这确实是一个见仁见智的问题。

于 2011-09-07T12:30:04.223 回答