应用程序(Application)

优质
小牛编辑
150浏览
2023-12-01

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

KnockoutJS是一个客户端框架。 这是一个JavaScript库,可以很容易地将HTML绑定到域数据。 它实现了一个名为Model-View-ViewModel(MVVM)的模式。 Observables是KnockoutJS的神奇成分。 由于Observable属性,所有数据保持同步。

结构 (Architecture)

KnockoutJS架构

View

View只是使用HTML元素和CSS样式创建的用户界面。

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

ViewModel (ViewModel)

ViewModel是一个JavaScript对象,它包含表示数据所必需的属性和函数。 View和ViewModel通过HTML中使用的声明性数据绑定概念连接在一起。 这样可以在不更改ViewModel的情况下轻松更改HTML。 KnockoutJS通过使用Observables来处理它们之间的自动数据刷新。

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

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

模型 (Model)

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

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

大多数情况下,数据都是通过Ajax调用保存和加载的。