码迷,mamicode.com
首页 > Web开发 > 详细

knockout.js 简介

时间:2014-12-25 18:06:25      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:

Knockout是一个轻量级的UI类库,通过应用MVVM模式使JavaScript前端UI简单化。

Knockout有如下4大重要概念:

  • 声明式绑定 (Declarative Bindings)使用简明易读的语法很容易地将模型(model)数据关联到DOM元素上。
  • UI界面自动刷新 (Automatic UI Refresh)当您的模型状态(model state)改变时,您的UI界面将自动更新。
  • 依赖跟踪 (Dependency Tracking)为转变和联合数据,在你的模型数据之间隐式建立关系。
  • 模板 (Templating)为您的模型数据快速编写复杂的可嵌套的UI。

Knockout是一个以数据模型(data model)为基础的能够帮助你创建富文本,响应显示和编辑用户界面的JavaScript类库。任何时候如果你的UI需要自动更新(比如:更新依赖于用户的行为或者外部数据源的改变),KO能够很简单的帮你实现并且很容易维护。

重要特性:

  • 优雅的依赖追踪- 不管任何时候你的数据模型更新,都会自动更新相应的内容。
  • 声明式绑定- 浅显易懂的方式将你的用户界面指定部分关联到你的数据模型上。
  • 灵活全面的模板- 使用嵌套模板可以构建复杂的动态界面。
  • 轻易可扩展- 几行代码就可以实现自定义行为作为新的声明式绑定。

额外的好处:

  • 纯JavaScript类库 – 兼容任何服务器端和客户端技术
  • 可添加到Web程序最上部 – 不需要大的架构改变
  • 简洁的 – Gzip之前大约25kb
  • 兼容任何主流浏览器 (IE 6+、Firefox 2+、Chrome、Safari、其它)
  • Comprehensive suite of specifications (采用行为驱动开发) - 意味着在新的浏览器和平台上可以很容易通过验证。

开发人员如果用过Silverlight或者WPF可能会知道KO是MVVM模式的一个例子。如果熟悉 Ruby on Rails 或其它MVC技术可能会发现它是一个带有声明式语法的MVC实时form。换句话说,你可以把KO当成通过编辑JSON数据来制作UI用户界面的一种方式… 不管它为你做什么。

 

knockout.js 简介

标签:

原文地址:http://www.cnblogs.com/zbx123/p/4185107.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!