本文纯正翻译自官网API文档。其中包含一下个人理解。

官网API地址:http://knockoutjs.com/documentation/introduction.html

简介

Knockout(简称KO)是一个JavaScript库,可以帮助您用干净的底层数据模型创建丰富的反应迅速显示和编辑用户界面。任何时候你有UI的部分是动态更新(例如,根据用户的行为或者外部数据源的变化而变化),用KO可以帮助您实现起来更简单。

KO主要功能

  • 优雅的依赖性跟踪 -当数据模型变化时,自动更新你的UI。
  • 声明绑定 -一个浅显的方式来将UI的部分连接到你的数据模型。您可以轻松地构建利用任意嵌套绑定上下文来组成复杂的动态用户界面。
  • 扩展 -使用短短的几行代码重用实现自定义行为作为。

KO的一些好处

  • 纯JavaScript库 -适用于任何服务器或客户端技术
  • 可以在您现有的Web应用程序的顶部加入,而无需重大的架构改变
  • 紧凑型 –体积只有13KB
  • 适用于任何主流浏览器的(IE 6 +,火狐2 +,Chrome浏览器,Safari浏览器,其他)

熟悉Ruby on Rails的,ASP.NET MVC,或者其他MV *技术的开发人员可能会看到MVVM作为MVC与声明语法实时的形式。在另一种意义上,你可以把KO的作为一般的方法,使用户界面进行编辑JSON数据。

KO与Jquery的关系

每个人都喜欢的jQuery!jQuery是一个极好的低级别的方式来操纵网页中的元素和事件处理程序。KO解决不同的问题。

只要你的用户界面变得复杂而有一些重叠的行为,事情可能会变得棘手和维护成本变得昂贵,如果你只使用jQuery。举一个例子:你显示的项目清单,说明在该列表中的项目数,并希望当有超过500项的减少后仅启用"添加"按钮。jQuery的不具有基本的数据模型的一个概念,所以要得到你必须从元素的一个表中的数字或DIV具有一定CSS类的数量推断它的项数。也许项目数显示在某些SPAN标记中,当用户添加一个项目你要记得更新SPAN的文字。你还必须记住禁用"添加"按钮当元素的数量大于5之后。

KO来弥补这一切

相对之前提到的。如果使用KO则容易得多。比如JavaScript数组,然后用foreach绑定这个数组转换成表或设置到DIV。每当数据模型变化时,用户界面也会随之变化(你不必弄清楚后台是如何注入新的TR)。让UI的其余部分保持同步。例如,您可以声明绑定到一个SPAN显示项目数,代码如下:

你不必编写代码来更新它; 它更新的数据源来自myItems数组的变化。同样,为了使"添加"按钮在项目数量小于5时启用,只需要写如下代码:

总结

KO与jQuery并非竞争关系。KO只是提供互补,通过数据监控方式将数据模型链接到的UI。KO本身不依赖jQuery,但可以与jQuery同时使用。

转载于:https://www.cnblogs.com/smallprogram/p/5913462.html

KnockoutJS 3.X API 第一章 简介相关推荐

  1. C++ API 设计 06 第一章 简介

    第一章 简介 1.1 应用程序编程接口是什么? 应用程序编程接口(API)提供对问题的一个抽象,并说明客户端如何与实现这个问题的解决方案的软件组件来进行交互. 这些组件本身通常作为一个软件库发布,允许 ...

  2. 人工智能第一章——简介(附上有用资料和链接)

    文章目录 摘要 前言 一.人工智能及智能认识 第二阶段 第三阶段 第四阶段 第五阶段 三.小结 四.相关资料 备注 参考文献 摘要 本文会讲明白 1)什么是人工智能(AI):2)什么是智能(intel ...

  3. ATA iSpec 2300:第一章 简介

    1-1. 目的 本规范旨在为固定翼和旋翼机飞行运行技术内容的管理.配置和交换提供一套简明的信息标准和指南.本规范侧重于以数据为中心的方法,解决飞机运营商对这些数据的当前和计划的未来运营/业务需求.本规 ...

  4. 对接亚马逊 ads api( Amazon Advertising API) 第一章:申请授权

    目录 1.申请亚马逊开发者账号 1.1.登录/注册,进入页面,并点击右上角的登录 1.2.登录或者注册亚马逊开发者账号 1.3.新建security profile 1.3.1.在菜单栏找到 logi ...

  5. 《MongoDB权威指南》读书笔记 第一章 简介

    第一章 1.面向文档的数据库,不是关系形数据库 2.面向文档的数据模型可使数据在多台服务器之间分割,平衡集群的数据和负载 3.具有的功能:索引.聚合.固定集合.文件存储 4.卓越的性能,把逻辑尽量交给 ...

  6. 对接亚马逊 SP-API(Amazon Selling Partner API) 第一章:注册帐号

    目录 1. SP-API 基本介绍 1.1. 从 MWS 迁移到 SP-API 1.2. SP-API 开发者指南 1.3. MWS 与 SP-API 接口映射 1.4. SP-API 的站点 2. ...

  7. NS3_Tutorial 中文版: 第一章 简介 第二章 资源

    [致谢]: 感谢关注NS3 Tutorial中文版的广大网友们,感谢NS3翻译小组,感谢初稿的翻译者们,感谢审稿和编辑们!!!   (详细的名单请查看博文翻译Tutorial) 声明:引用和转载相关内 ...

  8. ORB-SLAM2系列第一章——简介

    欢迎浏览我的SLAM专栏,一起加油淦穿SLAM! 文章目录 前言 一.ORB-SLAM2特点 二. 算法流程框架 1.主体框架 2.数据输入的预处理 三.安装教程 四.TUM 数据集介绍及使用 1.R ...

  9. 【2022-06-05】【知识梳理】数据库系统概念 第一章 简介(docx)

    建议先修课程:数据结构.操作系统.计算机组成原理. 配套教材: Database System Concepts 7th Edition Abraham Silberschatz Henry F. K ...

最新文章

  1. SAP QM QAC1事务代码不能修改含有HU的检验批里的数量
  2. PHP中空格占位数吗,HTML空格占位
  3. 基于android的语音识别
  4. VS2019如何导出exe文件_Win10+VS2019源码编译HDF5(1.10.6)
  5. python中创建对象的七种方式
  6. Bootstrap的lia
  7. cocos2d-x游戏开发(五)神奇的自动释放
  8. django:bootstrap table加载django返回的数据
  9. JSP指示元素%@ % 与指示类型
  10. com.google.common.base.Preconditions.checkNotNull(Preconditions.java:877)
  11. WPF 自定义 写实风 雷达图控件
  12. android版直播伴侣,来疯直播伴侣
  13. PubYun动态域名
  14. 关于{高级语言和低级语言}的。谬论!思想误区!解释。author:盗墓者是个丑奴儿
  15. 一文搞懂AWS EC2, IGW, RT, NAT, SG 基础篇下
  16. 安富莱C语言编码规范
  17. DIY回收,UCONN的开放源化学书以及更多新闻
  18. 导出word功能,用html代码在word中插入分页符
  19. ui标注android ios,IOS+ANDROID的UI切图与标注方法
  20. 网易乌镇咖荟综述 | 2018,AI行业的兴奋与焦虑

热门文章

  1. 基本Socket通信流程
  2. linux 路由 route命令
  3. Linux下的OpenSSL编程
  4. 2.6内核的配置与编译
  5. 10.18 nslookup:域名查询工具
  6. P1314 聪明的质监员(前缀和+二分)
  7. 开课啦! dubbo-go 微服务升级实战
  8. 开发者在家办公第一天,竟然是这样度过的......
  9. 嘘!阿里程序媛上班的第一件事是...
  10. 当数据库遇见FPGA:X-DB异构计算如何实现百万级TPS?