ko绑定----记录
1.绑定变量
globalData = ko.observable({item:{}});
2.绑定html
ko.applyBindings(globalData, document.getElementById('_bindDemo'));
注:这里document可以不写,则默认绑定全局
3.对数据进行赋值,达到刷新页面的效果
globalData({item:data});
注:因为定义的item为空值,这里定义了一个data为item赋值
4.对–对象–使用foreach循环
<tbody data-bind="foreach: items">
<tr>
<td data-bind="text: framework"></td>
<td data-bind="text: stars"></td>
</tr>
</tbody>
注:这里的items一般使用Ajax对其赋值,Ajax返回JSON格式数据,当作为List集合返回时,可以绑定到items
success: function(data, textStatus, jqXHR){
globalData({items:data});
}
5.绑定普通数组循环到html
<!--ko foreach:item.arr-->
<div><span>随机数:</span><span data-bind="text: $data"></span></div>
<!--/ko-->
使用注解简写循环的方式,$index--表示索引,$data--表示具体数据
6.小demo
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script type="text/javascript" src="js/knockout-3.4.0.js" ></script>
</head>
<body>
<input type="button" value="dian" onclick="randomAve(0.3,0.3009)" />
<div>
<!--ko foreach:item.arr-->
<div><span>随机数:</span><span data-bind="text: $data"></span></div>
<!--/ko-->
<div><span>总和:</span><span data-bind="text: item.sum"></span></div>
<div><span>平均值</span><span data-bind="text: item.aveNum"></span></div>
<div><span>误差:</span><span data-bind="text: item.errorValue"></span></div>
</div>
<script type="text/javascript">
globalData = ko.observable({item:{}});
ko.applyBindings(globalData);
var data = {};
function randomNum(min, max){
num = Math.floor((min + Math.random() * ( (max+0.0001) - min)) * 10000) / 10000;
return num;
}
function averageValue(arr){
data.sum = arr[0] + arr[1] + arr[2];
data.aveNum = Math.floor((data.sum / data.arr.length ) * 10000) / 10000;
return data.aveNum;
}
function randomAve(min, max){
data.arr = [];
for (var i = 0; i < 3 ; i++) {
data.arr[i] = randomNum(min, max);
}
data.aveNum = averageValue(data.arr);
errorValue(min);
}
function errorValue(num){
data.errorValue = (num - data.aveNum) / (data.aveNum * 100);
console.log(data);
globalData({item:data});
}
</script>
</body>
</html>
ko绑定----记录的更多相关文章
- moment 和ko 绑定msdate格式的日期值(静态text)
<!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="utf-8& ...
- 【knockout】ko绑定click事件传多个参数,
源:http://knockoutjs.com/documentation/event-binding.html <a href="javascript:;" class=& ...
- knockout 学习使用笔记-----event绑定传参ko属性
在绑定event的时候,需要传入ViewModal 本身的属性值(其实没必要,js直接能获取到,此处为测试相关参数的传递),如果不加(),会将绑定的function传进event(至于为嘛传了个fun ...
- knockoutjs中使用mapping插件绑定数据列表
使用KO绑定数据列表示例: 1.先申请V,T,T2三个辅助方法,方便调试.声明viewModel和加载数据时的映射条件mapping 2.先使用ko.mapping.fromJS()将原来的 ...
- ZigBee绑定细节
ZigBee中的绑定由APS层来管理,除了绑定表管理外,APS层还有组表管理.快速地址查找等服务功能.应用层不能直接调用APS层中的数据服务来传输数据,只能通过AF层封装的AD_DataRequest ...
- Android Framework 记录之二
接着上次的记录,续写. 23.services文件夹 文件 描写叙述 class AlarmManagerService extends IAlarmManager.Stub { //定时管理服务 p ...
- ko.js学习一
一.KO是一个MVVM框架 声明式绑定 (Declarative Bindings):使用简明易读的语法很容易地将模型(model)数据关联到DOM元素上. UI界面自动刷新 (Automatic U ...
- SNF快速开发平台MVC-各种级联绑定方式,演示样例程序(包含表单和表格控件)
做了这么多项目,经常会使用到级联.联动的情况. 如:省.市.县.区.一级分类.二级分类.三级分类.仓库.货位. 方式:有表单需要做级联的,还是表格行上需要做级联操作的. 实现:实现方法也有很多种方式. ...
- Knockout双向绑定
knockout双工绑定基于 observe 模式,性能高.核心就是observable对象的定义.这个函数最后返回了一个也叫做 observable 的函数,也就是用户定义值的读写器(accesso ...
随机推荐
- 【起航计划ObjC 003】印第安老斑鸠ObjC的幻想 ---- ObjC经典问题
1.Objective-C的类可以多重继承么?可以采用多个协议么? 答:不可以多重继承,可以采用多个协议. 2.#import和#include的区别是什么?#import<> 跟 #im ...
- PHP接口对方(C#)接收不到数据?ContentLength=-1
工作时遇到的问题.浏览器可以查看到json数据,但是对方死活收不到数据. 最后发现发现ContentLength=-1. 找到问题:为什么.NET程序下载获得的ContentLength=-1? 摘抄 ...
- spring@Autowired注入为null的问题,2017年9月14日21点41分记录
这个小问题纠结了三个小时..发出来留个纪念 这是启动项目的时候 这是请求控制器的时候 图1注入的时候是null,图2请求控制器的时候是有的,这是因为图1debug的地方是构造器..autowire ...
- php配置优化-生产环境应用版
[global] error_log = log/php-fpm.log log_level = warning emergency_restart_threshold = 10 emergency_ ...
- ZHS16GBK编码中汉字缺失
生产中使用ZHS16GBK编码的Oracle数据库,若出现字,则会出现乱码 原因是此字不存在在ZHS16GBK编码中 解决方法可以:此二字结构相同,但是后面的在ZHS16GBK编码中出现
- python26 re正则表达式
#coding:utf-8 #/usr/bin/python """ 2018-11-25 dinghanhua re """ import ...
- Uva 11491 暴力贪心
题意:给一个n长度的整数,删掉 k 个数字,使得剩下的数字最大. 分析:还剩 n-k 个数字,就是在原序列里面,相对顺序不变的情况下,这个n-k个数字组成的数最大. 感觉没有什么特别好的方法策略,看了 ...
- c#写入配置文件(text)
1.获取当前时间 System.DateTime currentTime = new System.DateTime(); currentTime = System.DateTime.Now; 写入配 ...
- Python-Url编码和解码
一.为什么要进行Url编码 url带参数的请求格式为(举例): http://www.baidu.com/s?k1=v1&k2=v2 当请求数据为字典data = {k1:v1, k2:v2} ...
- Android学习笔记_51_转android 加载大图片防止内存溢出
首先来还原一下堆内存溢出的错误.首先在SD卡上放一张照片,分辨率为(3776 X 2520),大小为3.88MB,是我自己用相机拍的一张照片.应用的布局很简单,一个Button一个ImageView, ...