【发布时间】:2012-05-30 05:37:55
【问题描述】:
mvc 中的客户端数据绑定有什么解决方法吗?我正在寻找类似在客户端以某种方式实现可观察模式的东西?
【问题讨论】:
标签: asp.net asp.net-mvc-3 asp.net-mvc-2
mvc 中的客户端数据绑定有什么解决方法吗?我正在寻找类似在客户端以某种方式实现可观察模式的东西?
【问题讨论】:
标签: asp.net asp.net-mvc-3 asp.net-mvc-2
看看knockout,它可能会提供你想要的东西
来自他们的网站
声明性绑定使用简洁易读的语法轻松将 DOM 元素与模型数据关联
自动 UI 刷新当您的数据模型的状态发生变化时,您的 UI 会自动更新
依赖跟踪隐式建立模型数据之间的关系链,对其进行转换和组合
模板化根据模型数据快速生成复杂的嵌套 UI
还有
Knockout 是一个 JavaScript 库,可帮助您创建丰富的、 具有干净底层的响应式显示和编辑器用户界面 数据模型。任何时候你有动态更新的 UI 部分 (例如,根据用户的操作或外部 数据源更改),KO可以帮助您更简单地实现它并且 可维护。
标题功能:
优雅的依赖跟踪 - 自动更新正确的部分 每当您的数据模型更改时,您的 UI。声明式绑定 - 一个 将部分 UI 连接到数据模型的简单而明显的方法。 您可以任意使用轻松构建复杂的动态 UI 嵌套的绑定上下文。可轻松扩展 - 实现自定义 行为作为新的声明性绑定,以便在少数情况下轻松重用 代码行。
如果您已经将 JSON 对象返回给客户端,为了防止在创建视图模型时进行一些额外的工作,您可以使用Knockout Mapping plugin:
Knockout 旨在允许您使用任意 JavaScript 对象 作为视图模型。只要您的某些视图模型的属性是 observables,你可以使用 KO 将它们绑定到你的 UI 和 UI 每当可观察的属性时将自动更新 改变。
大多数应用程序需要从后端服务器获取数据。由于 server 没有任何 observables 的概念,它只会提供一个 纯 JavaScript 对象(通常序列化为 JSON)。映射 插件为您提供了一种直接映射纯 JavaScript 的方法 将对象放入具有适当可观察对象的视图模型中。这是个 替代手动编写自己的 JavaScript 代码 根据您从 服务器。
还有其他框架可以做类似的事情,例如:
如果你想在不使用“大”框架的情况下实现它,可以看看这个:
【讨论】: