监测
knockout的三个核心特点
- 监测与依赖跟踪
- 声明式绑定
- 模板
在本文档中,你将学习三个特点中的第一个。但是在这之前,先来解释一下MVVM模型以及View Model的概念。
MVVM and View Models
Model-View-View Model(MVVM)是用来建立用户界面的一种设计模式。它通过将复杂的UI分割成三部分的方式,从而使得UI部分变得简单
- ** A model:**你的应用程序存储的数据。这个数据反映为对象和业务逻辑中的方法(例如,银行账户有转账功能),并且这个方法独立于任何UI。当你使用KO时,通常你是通过Ajax请求向服务器获取存储的模型数据。
- A view model:
通过KO创建一个View Model,仅仅只需声明一个JavaScript对象,例如,
var myViewModel = { personName: 'Bob', personAge: 123 };
接着,你可以通过声明式绑定创建一个简单的上面的view model的 view。例如,下面是PersonName的示例
The name is <span data-bind="text: personName"></span>
Activating Knockout
虽然data-bing
不是HTML的原生属性,但是它依旧可用(它严格遵从HTML5规范,因此在HTML4中使用也是没有任何问题的,即使验证工具指出它是一个不认识的属性也没关系)。但是由于浏览器不知道它是什么意思,所以你需要使用Knockout来是它工作。使用Knockout,在JS中添加下面的代码:
ko.applyBindings(myViewModel);
你可以将你的JS代码放在HTML文档的后面,也可以放在前面,但是请放在DOM-ready处理函数中,例如jQuery’s $
function。