Knockout.js是一个JavaScript库,它让HTML控件很容易与数据进行绑定。Knockout.js使用的是“模型-视图-视图模型(MVVM)”模式。它对于分离前台的业务逻辑和视图简化数据绑定过程有显著的作用。
Knockout是一款很优秀的JavaScript库,它可以帮助你仅使用一个清晰整洁的底层数据模型(data model)即可创建一个富文本且具有良好的显示和编辑功能的用户界面。任何时候你的局部UI内容需要自动更新(比如:依赖于用户行为的改变或者外部的数据源发生变化),KO都可以很简单的帮你实现,并且非常易于维护。
优雅的依赖跟踪-任何时候当数据源模型发生变化时,它都能够自动的更新你UI的指定内容。
声明式绑定-它通过简单浅显的方式将你的UI与数据源模型进行绑定,你可以使用任意嵌套的结构模版来组建一个复杂的动态界面。
良好的可扩展性-通过简单的几行代码就可以实现一个自定义行为作为新的声明进行绑定。
其他优点:
纯JavaScript库-兼容任何服务器和客户端技术。
可以很好的应用到已有的应用程序中-而不需要程序主要架构发生变化。
简洁-采用Gzip压缩之后只要13K。
兼容任何主流浏览器-(IE 6+, Firefox 2+, Chrome, Safari, 及其他)
一套全面完整的规范(采用行为驱动开发)-这意味着在新的浏览器或平台中也能够很容易验证通过。
开发人员如果熟悉Ruby on Rails,Asp.net MVC 或其它MVC技术可能会发现它是一个带有声明式语法的MVC实时form。换句话说,你可以把KO当成通过编辑JSON数据来制作UI用户界面的一种方式… 不管它为你做什么。
Knockout官网:http://knockoutjs.com/
深入浅出KnockoutJS:http://www.w2bc.com/Article/25175
Knockout应用开发指南(完整版) 目录索引:http://www.cnblogs.com/TomXu/archive/2011/11/21/2257154.html
Knockout中文文档:http://www.aizhengli.com/knockoutjs/knockoutjs.html