1、Knockout是在下面三个核心功能是建立起来的:
监控属性(Observables)和依赖跟踪(Dependency tracking) 声明式绑定(Declarative bindings) 模板(Templating) 2、MVVM的含义:MVVM(Model-View-View Model):是一种创建用户界面的设计模式。model: 你程序里存储的数据。这个数据包括对象和业务操作,使用KO的时候, 通常说是向服务器调用Ajax读写这个存储的模型数据。View: 一个可见的,交互式的,表示view model状态的UI。View Model: 从view model显示数据,发送命令到view model, 任何view model状态改变的时候更新。1、knockout的使用
1)创建一个View Model,声明为javascript object (js对象)var myViewModel = { userName: zhangsan; password:123456};2)位view Model创建一个声明式绑定的View
用户名称:<span id="userName" data-bind="text:userName"></span>用户密码:<span data-bind="text:password"></span>
3)浏览器不识别data-bind属性,所以要激活knockout
ko.applyBindings(myViewModel);2、监控属性observable的使用
在原有的View Model添加observable,实现监控
var myViewModel = { userName: ko.observable("zhangsan"), password:ko.observable("123456")};监控属性的读写
myViewModel.userName() //读操作,输出zhangsanmyViewModel.password() //输出123456 myViewModel.userName("wangwu") //写操作或赋值,修改wangwumyViewModel.userName("linlin").password("lin123") //赋值使用的例子如下:
运行后的效果如下: