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() //读操作,输出zhangsan
myViewModel.password() //输出123456
myViewModel.userName("wangwu") //写操作或赋值,修改wangwu
myViewModel.userName("linlin").password("lin123") //赋值
使用的例子如下:
运行后的效果如下:
knockout的依赖属性dependentObservable和observable的监控的使用的更多相关文章
-
knockout的依赖属性dependentObservable的参数 和Value转换器
可写的依赖监控属性ko.dependentObservable的参数 read: 必选,一个用来执行取得依赖监控属性当前值的函数write: 可选,如果声明将使你的依赖属性可写,别的代码如果这个 ...
-
knockout源码分析之computed(依赖属性)
一.序列图 二.主要代码文件 1.dependentObservable.js:主要包含ko.computed相关方法的处理2.dependencyDetection.js:主要包含依赖的监控上下文对 ...
-
Knockout.js(三):计算属性(Computed Observable)
在Knockout2.0之前,计算属性被称之为依赖属性,在2.0版本中,ko.dependentObservable重命名为ko.computed,因为它在读.解释和类型上更简单.在实际使用中,ko. ...
-
3.Knockout.Js(属性绑定)
前言 让visible绑定到DOM元素上,使得该元素的hidden或visible取决于绑定的值. 简单的绑定 首先还是先定义一个ViewModel var AppViewModel = { shou ...
-
Knockout 新版应用开发教程之Observable与computed
KO是什么? KO不是万能的,它的出现主要是为了方便的解决下面的问题: UI元素较多,用户交互比较频繁,需要编写大量的手工代码维护UI元素的状态.样式等属性? UI元素之间关系比较紧密,比如操作一个元 ...
-
Knockout 新版应用开发教程之Observable Arrays
假如你想到侦测和相应一个对象的改变,假如你想要侦测和响应一一组合集的改变,就要用observableArray 在许多场景都是很有用的,比如你要在UI上需要显示/编辑的一个列表数据集合,然后对集合进行 ...
-
Knockout.Js官网学习(数组observable)
前言 如果你要探测和响应一个对象的变化,你应该用observables. 如果你需要探测和响应一个集合对象的变化,你应该用observableArray . 在很多场景下,它都非常有用,比如你要在UI ...
-
Knockout v3.4.0 中文版教程-8-计算监控-纯计算属性
4.纯计算属性 纯计算监控在KO 3.2.0中开始引入,比大多数应用程序使计算监控有更大的性能提升和内存优化.这是因为在自身没有订阅的时候不会保持订阅状态.特性如下 阻止内存泄露 - 避免在应用程序里 ...
-
2000条你应知的WPF小姿势 基础篇<;57-62 依赖属性进阶>;
在正文开始之前需要介绍一个人:Sean Sexton. 来自明尼苏达双城的软件工程师.最为出色的是他维护了两个博客:2,000ThingsYou Should Know About C# 和 2,00 ...
随机推荐
-
overflow:hidden 影响布局的问题
a 与 b 都是 inline-block且高与父元素 c 相同均为 30px,而在a加上 overflow:hidden; 会使 a 的底线与整个父元素 c 的 text baseline 对齐,相 ...
-
codevs 1002 搭桥
codevs 第一道题 先贴描述 1002 搭桥 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 查看运行结果 题目描述 Description ...
-
office文件在线预览,模仿网易邮箱在线预览的
最近研究了半天,代码是倾情奉送啊,C#,asp.net的 这个原理是office文件转换为PDF文件,然后再转换成SWF文件,FlexPaper+swfTools. 有个问题,需要在web.confi ...
-
Hibernate 事物隔离级别 深入探究
目录 一.数据库事务的定义 二.数据库事务并发可能带来的问题 三.数据库事务隔离级别 四.使用Hibernate设置数据库隔离级别 五.使用悲观锁解决事务并发问题 六.使用乐观锁解决事务并发问题 Hi ...
-
uva 10004 Bicoloring(dfs二分染色,和hdu 4751代码差不多)
Description In the ``Four Color Map Theorem" was proven with the assistance of a computer. This ...
-
C++获取文件大小常用技巧
C++编程语言在程序开发应用中能够帮助我们轻松的完成许多功能需求.比如今天为大家介绍的C++获取文件大小的方法,就可以以多种方式轻松的实现.现在将会实现方法呈现给大家,以便大家参考. C++获取文件大 ...
-
【Dp】Bzoj1296 [SCOI2009] 粉刷匠
Description windy有 N 条木板需要被粉刷. 每条木板被分为 M 个格子. 每个格子要被刷成红色或蓝色. windy每次粉刷,只能选择一条木板上一段连续的格子,然后涂上一种颜色. 每个 ...
-
conda基本操作
准备环境 # 下载并安装conda基础环境 $ wget https://mirror.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-4.3.1 ...
-
Windows 服务安装教程
一.安装服务1.已管理员的身份启动CMD2.输入 cd C:\Windows\Microsoft.NET\Framework\v4.0.30319 回车3.输入 InstallUtil.exe Win ...
-
idea中maven依赖不能下载的解决办法
使用maven 命令 maven install 在项目所在文件夹 执行.