学习knockoutjs,将学习过程记录于此,督促检查,有不对的地方还请指正,非常感谢~~
初学阶段主要参考官网文档 http://knockoutjs.com/documentation/introduction.html
一、入门介绍
knockoutjs是一个基于数据模型data model的轻量级类库,可以帮助在前台方便地实现UI元素的自动更新(例如,依赖于用户行为或外部数据源的改变)
重要特性:
优雅的依赖跟踪: 任何时候数据模型data model的变化都能自动的更新到对应的UI上
声明式绑定: 在数据模型data model和UI之间的绑定方式简单而直接
易扩展: 几行代码就可以轻松实现自定义行为
额外的优点:
纯javascript库:兼容于任何服务端和客户端技术
不需要大的改动就可以添加到你已有的Web项目中
小巧意味着省流量
兼容所有主流浏览器
Comprehensive suite of specifications 行为驱动开发的方式使其在新浏览器和平台上很容易获得支持
熟悉Ruby on Rails,Asp.net MVC,或者其他MV*技术的开发人员可以将MVVM视为一个使用声明式语法的实时Form, 也可以认为KO是使用UI元素操作Json数据的常规方式...
jQuery是一个操作元素和事件的框架,非常擅长于DOM等底层操作,同时jQuery没有数据模型的概念;而KO基于MVVM模式提供了数据模型与UI元素的连接交互,KO的运行并不依赖jQuery,二者各有自己的使用场景
二、下载安装
官网上可以下载最新版本和历史版本http://knockoutjs.com/downloads/index.html
当前最新的release版本为v3.3.0, preview版本为v3.4.0rc,同时可以下载没有经过压缩的debug版本,可以方便阅读和调试
下载最新的类库文件放入你的目录中,使用<script>在页面中引用
<script type='text/javascript' src='knockout-3.3.0.js'></script>
旧的jQuery模板插件有可能需要依赖旧版本的knockout.js, 从knockoutv2.0.0之后不会再有该问题