将服务器端 MVC 与 Backbone.js 相结合

2024-04-14

我将 .NET MVC 用于所有服务器端逻辑并提供初始页面,但我的应用程序在客户端非常繁重,因此我采用了 Backbone.JS,事实证明它非常有用。

但我不确定如何构建我的系统以整合这两种技术。在我看来,我有两个选择

  1. 在服务器端从 MVC 中废弃“V”,将 JSON 数据返回到 客户端进行页面加载并使用骨干客户端模板进行构建 来自基本 JSON/Backbone 模型的 GUI。

  2. 从完全在 .NET MVC 中呈现的服务器返回初始页面。 还返回用于渲染它们的数据并调用集合.重置({沉默:true}) http://documentcloud.github.com/backbone/#Collection-reset方法来链接 返回数据到视图。我的想法是否正确? 允许我随后使用添加/删除/更改进行更改 处理程序的意见?

1 这让我很困扰,因为我害怕放弃服务器端 MVC 的任何部分,这是我的核心技能所在。

2 让我很困扰,因为我担心在客户端服务器上使用两种不同的渲染方法可能会带来风险和工作。

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


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

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将服务器端 MVC 与 Backbone.js 相结合 的相关文章

随机推荐

  • Firebase Cloud Messaging 订阅多个令牌到一个主题

    我有一个允许用户创建帐户的应用程序 然后 我将用户信息存储在 Firebase 数据库中 我还存储所有用户的设备令牌 以防他们通过一个帐户使用多台设备 iPhone iPad Android 等 当用户订阅某个主题时 我希望能够订阅该主题的
  • 如何避免 OSX 上自制程序中的“无法加载此类文件 -- utils/popen”

    我运行时遇到错误brew在终端中 System Library Frameworks Ruby framework Versions 2 0 usr lib ruby 2 0 0 rubygems core ext kernel requi
  • Capifony 和目录所有者

    When I cap deploy我的 Symfony2 项目 然后登录到我的服务器 我看到 dev app dev php 运行正常 但 prod 版本 app php 运行正常 错误是 Tue Jan 03 14 31 48 2012
  • 设置overflow-y也会导致overflow-x发生变化[重复]

    这个问题在这里已经有答案了 当我设定overflow y在一个街区上 它似乎正在影响overflow x财产 我做了一个JSFiddle 提供了此问题的示例 http jsfiddle net sgjennings 7fNhx 这似乎发生在
  • 将对象传递给 AutoMapper 映射

    我正在使用 AutoMapper 被映射到的实体的一些值是我当前方法中的变量 我尝试用谷歌搜索但没有成功 我可以将一组键值对或一个对象或其他东西传递给我的映射以使其使用这些值吗 映射后修改示例 comment variable is a C
  • 如何使用 Node.JS 通过 XMPP 发送 HTML 格式的消息?

    这个问题讨论使用node xmpp发送消息 在 Node js 上通过 XMPP 连接到 Google Talk https stackoverflow com questions 4349577 connecting to google
  • python - 池映射的字典迭代器

    我正在处理一组冻结集 我试图在字典 输出 中找到每个冻结集的最小集 我有 70k freezesets 所以我正在制作这个 freezeset 字典的块并并行化这个任务 当我尝试将此字典作为我的函数的输入传递时 仅发送密钥 因此我收到错误
  • 按组列出的最常见值(众数)[重复]

    这个问题在这里已经有答案了 我试图按组找到最常见的值 在以下示例数据框中 df lt data frame a c 1 1 1 1 2 2 2 3 3 b c 2 2 1 2 3 3 1 1 2 gt df a b 1 1 2 2 1 2
  • 标签助手“input”在元素的属性声明区域中不得包含 C#

    在构建最近从 NET Core 2 2 迁移到 3 0 的 ASP NET Core MVC 应用程序时 我们遇到以下错误 标签助手 input 或 textarea 或任何其他 不得具有 C 在元素的属性声明区域中 我们用的是剃须刀 fu
  • android EditText maxLength 允许用户输入更多内容

    我已经在 xml 布局文件中为 EditText 小部件设置了 maxLength 属性 它确实限制了字符的显示 但它仍然允许用户在键盘上按更多字母 并且退格键会删除这些额外的按键 而不是显示屏上的最后一个字母 我相信事情不应该是这样的 达
  • Django项目中大量页面如何组织分页?

    我有一个view py产品列表 from django shortcuts import render get object or 404 from models import ProductCategory Product Product
  • VB.net中是否有像SQL中那样的IN运算符

    是否有类似的函数或运算符 If RoleName in Val1 Val2 Val2 Then Go End If 代替 If RoleName Val1 Or RoleName Val2 Or RoleName Val2 Then Go
  • 有人可以解释这种行为吗?只需两行代码[重复]

    这个问题在这里已经有答案了 请解释一下这个片段 include
  • Bulbflow:neo4jserver Graph 和 neo4jserver Neo4jclient 之间的区别

    我现在正在尝试学习如何连接到 Neo4j 服务器并使用 Python 中的 Bulbflow 在其上运行 Cypher 查询 我不明白的是连接到 neo4j 服务器的两种可能性之间的区别 1 Graph http bulbflow com
  • 包含 std::string 常量的类

    所以我目前正在使用 C 进行一个学校项目 我对此并不熟悉 我想创建一个类 包含我所有的常量 字符串 整数 双精度 自己的类 我正在尝试这个 这在 Java 中一直对我有用 class Reference Picture Paths publ
  • 使用 TensorFlow 对象检测输出分数、类别和 ID 提取

    如何提取由用于对象检测的 Tensorflow 模型生成的图像中检测到的对象 对象类别 对象 ID 的输出分数 我想将所有这些详细信息存储到单独的变量中 以便以后将它们存储在数据库中 使用与此链接中找到的相同的代码https github
  • 两个日期之间的输出 mysql [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我需要像这样在MYSQL中输出 记录
  • 在 mongodb 中创建安全数据库

    我想在 mongodb 中创建安全的数据库 安全意味着应用程序必须传递用户名 密码才能连接到我的 mongodb 数据库 来自 Mongo Java 教程 MongoDB 可以在安全模式下运行 其中通过名称和密码身份验证控制对数据库的访问
  • 模拟Android AssetManager

    我有一段代码接受 Context 并将该上下文传递给私有方法 私有方法调用 getAssets open 来读取我的应用程序的资产文件夹中存在的文件 public void methodA Context ctx throws IOExce
  • 将服务器端 MVC 与 Backbone.js 相结合

    我将 NET MVC 用于所有服务器端逻辑并提供初始页面 但我的应用程序在客户端非常繁重 因此我采用了 Backbone JS 事实证明它非常有用 但我不确定如何构建我的系统以整合这两种技术 在我看来 我有两个选择 在服务器端从 MVC 中