KnockoutJS - 应用程序


KnockoutJS 广泛用于单页应用程序 - 创建的网站能够通过单页负载动态检索所有必要的数据,从而减少服务器往返次数。

KnockoutJS 是一个客户端框架。这是一个 JavaScript 库,可以非常轻松地将 HTML 绑定到域数据。它实现了一种称为“模型-视图-视图模型”(MVVM) 的模式。Observables 是 KnockoutJS 的神奇成分。由于 Observable 属性,所有数据保持同步。

建筑学

KnockoutJS 架构

看法

视图只不过是使用 HTML 元素和 CSS 样式创建的用户界面。

您可以使用 KnockoutJS 将 HTML DOM 元素绑定到数据模型。它使用“数据绑定”概念在 View 和 ViewModel 之间提供 2 路数据绑定,这意味着 UI 中完成的任何更新都会反映在数据模型中,并且数据模型中所做的任何更改都会反映在 UI 中。人们可以在 knockoutJS 的帮助下创建自我更新的 UI。

视图模型

ViewModel 是一个 JavaScript 对象,它包含表示数据所需的属性和函数。View 和 ViewModel 通过 HTML 中使用的声明性数据绑定概念连接在一起。这使得无需更改 ViewModel 即可轻松更改 HTML。KnockoutJS 通过使用 Observables 负责它们之间的自动数据刷新。

数据同步是通过将 DOM 元素绑定到数据模型来实现的,首先使用 data-bind,然后通过使用 Observables 刷新这两个组件。由于数据同步,依赖性跟踪是自动完成的。不需要额外的编码来实现它。KnockoutJS 允许在显示和底层数据之间创建直接连接。

您可以创建自己的绑定,称为应用程序特定Behave的自定义绑定。通过这种方式,Knockout 可以直接控制您想要如何将数据转换为 HTML。

模型

模型是服务器上的域数据,当从 ViewModel 发送/接收请求时,它会被操纵。

数据可以存储在数据库、cookie 或其他形式的持久存储中。KnockoutJS 不关心它是如何存储的。由程序员在存储的数据和 KnockoutJS 之间进行通信。

大多数时候,数据是通过 Ajax 调用保存和加载的。