KnockoutJS基本上是一个用JavaScript编写的库,基于MVVM模式,可以帮助开发人员构建丰富的响应式网站.该模型将应用程序的模型(存储数据),视图(UI)和视图模型(模型的JavaScript表示)分开.
KnockoutJS是由Steve Sanderson开发并作为开源项目维护的,2010年7月5日,Microsoft员工.KO是KnockoutJS的缩写. KO支持所有主流浏览器 - IE 6 +,Firefox 3.5 +,Chrome,Opera,Safari(桌面/移动).
KnockoutJS的功能
以下列出了KnockoutJS的一些最突出的功能 :
声明性绑定 : 去; HTML DOM元素使用非常简单的语法通过data-bind属性连接到模型.使用此功能可以轻松实现响应.
自动UI刷新 : 查看模型数据所做的任何更改都会自动反映在UI中,反之亦然.无需编写额外的代码.
依赖性跟踪 : KO属性与KO库函数/组件之间的关系是透明的.自动跟踪KO属性中的数据更改并更新相应的受影响区域.
模板 : 模板是构建复杂UI结构的简单方便的方法 - 可以重复或嵌套块 - 作为视图模型数据的函数.
可扩展 : 非常容易扩展自定义行为.
为什么要使用KnockoutJS?
KnockoutJS库提供了一种简单而干净的方式来处理复杂的数据驱动接口.可以为Javascript对象创建自我更新的UI.
它是纯JavaScript库,适用于任何Web框架.它不是JQuery的替代品,但可以作为提供智能功能的补充.
KnockoutJS库文件非常小巧轻便.
KnockoutJS独立于任何其他框架.它与其他客户端或服务器端技术兼容.
最重要的是KnockoutJS是开源的,因此可以免费使用.
KnockoutJS已完整记录.官方网站包含完整的文档,包括API文档,实时示例和交互式教程.