将Serverside MVC与Backbone.js结合起来

rea*_*ers 6 asp.net-mvc backbone.js

我正在使用.NET MVC来处理所有服务器端逻辑并提供初始页面,但我的应用程序在客户端非常繁重,所以我采用了Backbone.JS,这被证明是非常有用的.

我不确定如何构建我的系统以结合两种技术.我看到它的方式我有两个选择

  1. 从服务器端的MVC中删除'V',在页面加载时将JSON数据返回给客户端,并使用主干客户端模板从基础JSON/Backbone模型构建GUI.

  2. 从.NET MVC中完全呈现的服务器返回初始页面.还返回用于呈现它们的数据并调用 collection.reset({silent:true})方法将返回的数据链接到视图.我是否正确地认为这将允许我随后更改在视图上使用添加/删除/更改处理程序?

1让我感到烦恼,因为我害怕放弃服务器端MVC的任何部分,这是我的核心技能所在.

2因为我担心我很麻烦我可能会通过在客户端服务器上使用两种不同的呈现方法来引入风险和工作.

什么是将服务器端MVC与backbone.js 1或2或其他方式结合起来的正确方法?

Nic*_*sen 4

  1. 您并没有真正废弃V,您只是将其表示形式从 HTML 更改为 JSON。你感到困扰是因为你对服务器端的东西感觉更舒服,但这并不是一个真正有效的担忧......你会完成需要做的事情,并学习/创建 Javascript 模式。

  2. 这是实现此目的的一种方法,如果您需要禁用 javascript 的回退或者您受到可访问性指南的约束,那么它确实很有帮助。您缺少的部分是,一旦加载页面,您就必须重新渲染页面,以将模型附加到 DOM 元素。或者,您可以使用一个工具来为您处理此映射,但这会增加复杂性,您必须自己权衡。

在骨干网的职业使用中,我们不一定要支持无 javascript 的场景,因此我们只需在初始加载时加载模板 + js,然后让路由器接管并使用更像您的第一个想法的东西。因为听起来您才刚刚开始,所以帮助我们真正采取行动的最重要的事情是意识到对模型进行更改然后让您的视图订阅模型更改事件会容易(而不是相反) 。