【问题标题】:observable pattern on client side客户端的可观察模式
【发布时间】:2012-05-30 05:37:55
【问题描述】:

mvc 中的客户端数据绑定有什么解决方法吗?我正在寻找类似在客户端以某种方式实现可观察模式的东西?

【问题讨论】:

    标签: asp.net asp.net-mvc-3 asp.net-mvc-2


    【解决方案1】:

    看看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 代码 根据您从 服务器。

    还有其他框架可以做类似的事情,例如:

    如果你想在不使用“大”框架的情况下实现它,可以看看这个:

    【讨论】:

    • 感谢我之前的链接,问题是它在客户端涉及太多的 javascript。但我会把它作为最后的选择。所以只是想知道还有其他可用的解决方案吗?
    • 任何客户端解决方案都会涉及到 javascript
    • 你看过网站上的介绍视频吗,我认为它实际上涉及的javascript更少,你只需要知道它是如何工作的(通过阅读文档)
    • 我已经尝试过它的交互会话一次。我发现它的唯一问题是它需要我在客户端管理视图模型。在 asp.net mvc 中,我已经在客户端提供了模型,但是如果我走这条路,我需要为 viewmodel 添加一个额外的层并自己管理它。所以只想确定这是唯一的方法还是有其他可用的选项
    • 你看到映射插件淘汰了吗,更新的答案反映
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-12
    • 2012-09-02
    • 1970-01-01
    • 1970-01-01
    • 2020-01-02
    • 2012-07-09
    • 2019-09-17
    相关资源
    最近更新 更多