javascript - 将 Backbone 模型或导出的 json 对象传递给像 mustache 这样的模板系统

标签 javascript backbone.js template-engine mustache

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

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

或者通过 model.toJSON() 并简单地使用 <%= name %>

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

最佳答案

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

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

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

关于javascript - 将 Backbone 模型或导出的 json 对象传递给像 mustache 这样的模板系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7332361/

相关文章:

javascript - iOS PWA 音频限制

javascript - Facebook 分享对话框/提要对话框和自定义标题/描述

javascript - Backbone Collection Fetch - 指向特定的 JSON 属性

javascript - Marionette JS : who is responsible for showing sub-applications?

c#-4.0 - 如何创建模板语言

javascript - 在 WebExtension 中将 window.onload 与动态内容结合使用

javascript - 禁用星星突出显示,但即​​使对于 jQuery Raty 插件也启用单击

backbone.js - _.: a confuse with context之后

ruby-on-rails - erb 中双引号属性值的字符串插值

javascript - Coffeescript、Haml 等模板引擎