KnockoutJS 3.X API 第四章之数据控制流with绑定


Posted in Javascript onOctober 10, 2016

with绑定的目的

使用with绑定的格式为data-bind=”with:attribute”,使用with绑定会将其后所跟的属性看作一个新的上下文进行绑定。with绑定内部的所有元素将受到该上下文的约束。

当然,with绑定也可配合if或foreach绑定一起使用。

示例1

<h1 data-bind="text: city"> </h1>
<p data-bind="with: coords">
Latitude: <span data-bind="text: latitude"> </span>,
Longitude: <span data-bind="text: longitude"> </span>
</p>
<script type="text/javascript">
ko.applyBindings({
city: "London",
coords: {
latitude: 51.5001524,
longitude: -0.1262362
}
});
</script>

本例中,通过with直接绑定了coords监控属性,并在其内部直接调用了coords监控属性的内部属性。这里就体现了with绑定的特性。

示例2:一个互动的例子

KnockoutJS 3.X API 第四章之数据控制流with绑定

该例子中将使用with绑定动态添加和删除其绑定值为null/undefined或非null/undefined

UI源码:

<form data-bind="submit: getTweets">
Twitter account:
<input data-bind="value: twitterName" />
<button type="submit">Get tweets</button>
</form>
<div data-bind="with: resultData">
<h3>Recent tweets fetched at <span data-bind="text: retrievalDate"> </span></h3>
<ol data-bind="foreach: topTweets">
<li data-bind="text: text"></li>
</ol>
<button data-bind="click: $parent.clearResults">Clear tweets</button>
</div>

视图模型源码:

function AppViewModel() {
var self = this;
self.twitterName = ko.observable('@example');
self.resultData = ko.observable(); // No initial value
self.getTweets = function() {
var name = self.twitterName(),
simulatedResults = [
{ text: name + ' What a nice day.' },
{ text: name + ' Building some cool apps.' },
{ text: name + ' Just saw a famous celebrity eating lard. Yum.' }
];
self.resultData({ retrievalDate: new Date(), topTweets: simulatedResults });
}
self.clearResults = function() {
self.resultData(undefined);
}
}
ko.applyBindings(new AppViewModel());

备注:with的无容器绑定(虚拟绑定)

像if、foreach等的虚拟绑定一样,with绑定也一样。使用<!-- ko -->和<!-- /ko -->进行。

<ul>
<li>Header element</li>
<!-- ko with: outboundFlight -->
...
<!-- /ko -->
<!-- ko with: inboundFlight -->
...
<!-- /ko -->
</ul>

以上所述是小编给大家介绍的KnockoutJS 3.X API 第四章之数据控制流with绑定,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
javascript 文本框水印/占位符(watermark/placeholder)实现方法
Jan 15 Javascript
javascript利用apply和arguments复用方法
Nov 25 Javascript
json属性名为什么要双引号(个人猜测)
Jul 31 Javascript
jQuery添加删除DOM元素方法详解
Jan 18 Javascript
Bootstrap学习笔记之环境配置(1)
Dec 07 Javascript
jquery对table做排序操作的实例演示
Aug 10 jQuery
vue element中axios下载文件(后端Python)
May 10 Javascript
vue element 中的table动态渲染实现(动态表头)
Nov 21 Javascript
详解微信小程序中var、let、const用法与区别
Jan 11 Javascript
jQuery实现颜色打字机的完整代码
Mar 19 jQuery
vue中提示$index is not defined错误的解决方式
Sep 02 Javascript
微前端qiankun改造日渐庞大的项目教程
Jun 21 Javascript
JS命令模式例子之菜单程序
Oct 10 #Javascript
KnockoutJS 3.X API 第四章之数据控制流component绑定
Oct 10 #Javascript
KnockoutJS 3.X API 第四章之click绑定
Oct 10 #Javascript
KnockoutJS 3.X API 第四章之事件event绑定
Oct 10 #Javascript
KnockoutJS 3.X API 第四章之表单submit、enable、disable绑定
Oct 10 #Javascript
让浏览器崩溃的12行JS代码(DoS攻击分析及防御)
Oct 10 #Javascript
KnockoutJS 3.X API 第四章之表单value绑定
Oct 10 #Javascript
You might like
上海永华YH-R296(华普R-96)12波段立体声收音机的分析和打理
2021/03/02 无线电
学习PHP的数组总结【经验】
2016/05/05 PHP
深入学习微信网址链接解封的防封原理visit_type
2019/08/15 PHP
用原生JS获取CLASS对象(很简单实用)
2014/10/15 Javascript
javascript实现获取浏览器版本、操作系统类型
2015/01/29 Javascript
JavaScript动态生成二维码图片
2016/04/20 Javascript
使用BootStrap实现用户登录界面UI
2016/08/10 Javascript
分享JS数组求和与求最大值的方法
2016/08/11 Javascript
js闭包用法实例详解
2016/12/13 Javascript
基于Vue实现微信小程序的图文编辑器
2018/07/25 Javascript
小程序开发基础之view视图容器
2018/08/21 Javascript
原生JS实现的简单小钟表功能示例
2018/08/30 Javascript
解决vue-cli 打包后自定义动画未执行的问题
2019/11/12 Javascript
JavaScript Window窗口对象属性和使用方法
2020/01/19 Javascript
[01:14]英雄,所敬略同——2018完美盛典宣传视频4K
2018/12/05 DOTA
python里大整数相乘相关技巧指南
2014/09/12 Python
Python随机生成信用卡卡号的实现方法
2015/05/14 Python
理解python正则表达式
2016/01/15 Python
Python3计算三角形的面积代码
2017/12/18 Python
python 快速把超大txt文件转存为csv的实例
2018/10/26 Python
python区块及区块链的开发详解
2019/07/03 Python
Pytorch之Tensor和Numpy之间的转换的实现方法
2020/09/03 Python
详解Python中的文件操作
2021/01/14 Python
CSS3 animation实现逐帧动画效果
2016/06/02 HTML / CSS
前后端结合实现amazeUI分页效果
2020/08/21 HTML / CSS
Ray-Ban雷朋美国官网:全球领先的太阳眼镜品牌
2016/07/20 全球购物
非常详细的C#面试题集
2016/07/13 面试题
班组长安全生产职责
2013/12/16 职场文书
培训楼经理岗位责任制
2014/02/10 职场文书
民主生活会整改措施(党员)
2014/09/18 职场文书
学校中秋节活动总结
2015/03/23 职场文书
2015年乡镇环保工作总结
2015/04/22 职场文书
入党介绍人意见2015
2015/06/01 职场文书
红色经典观后感
2015/06/18 职场文书
文艺部部长竞选稿
2015/11/21 职场文书
Pytorch中的学习率衰减及其用法详解
2021/06/05 Python