我正在研究 Backbone JS 并且有点困惑。我习惯于在服务器端(using JADE)编译我的页面 html,然后在客户端使用 jQuery 与这些元素进行交互。许多主干示例建议从空白 html 正文开始并在客户端呈现内容。
这对我来说真的很奇怪!
问题:
我必须使用客户端模板吗?
我可以使用 BackboneJS 来控制预先编写的服务器端编译的 html 吗?
最佳答案
使用 Backbone 的典型方式是在客户端做事。您使用客户端模板渲染将模型值绑定(bind)到您的小 View 模板。它是一种将 HTML/JS 转变为具有实际组件模型的应用程序开发平台的方法。
但是,这并不意味着你不能或不应该混合你的世界。
例如,我将 Backbone 与 Rails 一起使用。我的 Rails View 呈现包含 Backbone 逻辑/ View 的服务器端 HTML。然后,我所有的 AJAX 样式的 View 渲染都使用带有模型、 View 和模板的 Backbone 进行,并且模型与位于 Rails 后端的 JSON 服务通信。用户在需要离开页面去做其他事情之前不会看到页面加载。体验非常好。
您当然可以举这个例子并在服务器端呈现您的模板。我不会去渲染模板服务器端的每个实例,因为模板引擎(包括内置在 Backbone/Underscore 中的引擎)非常强大。但是,如果您想使用服务器端渲染为您的模板播种,我可以看到这可能很有用。
关于templates - 我应该在服务器端还是客户端呈现 html?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7738345/