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 相关文章推荐
JQuery事件e参数的方法preventDefault()取消默认行为
Sep 26 Javascript
详解Jquery EasyUI tree 的异步加载(遍历指定文件夹,根据文件夹内的文件生成tree)
Feb 11 Javascript
vue2.0实现倒计时的插件(时间戳 刷新 跳转 都不影响)
Mar 30 Javascript
详解VueJs中的V-bind指令
May 03 Javascript
详解JS函数stack size计算方法
Jun 18 Javascript
解析vue data不可以使用箭头函数问题
Jul 03 Javascript
jQuery实现点击旋转,再点击恢复初始状态动画效果示例
Dec 11 jQuery
jQuery实现左右两个列表框的内容相互移动功能示例
Jan 27 jQuery
JS实现头条新闻的经典轮播图效果示例
Jan 30 Javascript
原生js通过一行代码实现简易轮播图
Jun 05 Javascript
javascript异常处理实现原理详解
Feb 17 Javascript
vue实现简单瀑布流布局
May 28 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
聊天室php&amp;mysql(二)
2006/10/09 PHP
php将数据库中的电话号码读取出来并生成图片
2008/08/31 PHP
destoon实现调用热门关键字的方法
2014/07/15 PHP
ThinkPHP框架设计及扩展详解
2014/11/25 PHP
PHP获取数组最后一个值的2种方法
2015/01/21 PHP
php获取网站百度快照日期的方法
2015/07/29 PHP
ThinkPHP路由机制简介
2016/03/23 PHP
PHP list() 将数组中的值赋给变量的简单实例
2016/06/13 PHP
深入浅析Yii admin的权限控制
2016/08/31 PHP
Javascript 获取链接(url)参数的方法
2009/02/15 Javascript
javaScript Array(数组)相关方法简述
2009/07/25 Javascript
ASP.NET jQuery 实例11 通过使用jQuery validation插件简单实现用户登录页面验证功能
2012/02/03 Javascript
解析JSON对象与字符串之间的相互转换
2013/12/18 Javascript
JavaScript避免内存泄露及内存管理技巧
2014/09/05 Javascript
JS组件系列之Bootstrap table表格组件神器【二、父子表和行列调序】
2016/05/10 Javascript
echarts3 使用总结(绘制各种图表,地图)
2017/01/05 Javascript
JavaScript对象拷贝与Object.assign用法实例分析
2018/06/20 Javascript
wx-charts 微信小程序图表插件的具体使用
2019/08/18 Javascript
使用JavaScript计算前一天和后一天的思路详解
2019/12/20 Javascript
在Vue中使用mockjs代码实例
2020/11/25 Vue.js
Python下的常用下载安装工具pip的安装方法
2015/11/13 Python
pandas数据框,统计某列数据对应的个数方法
2018/04/11 Python
华为旗下电子商务平台:华为商城
2016/08/06 全球购物
德国奢侈品网上商城:Mytheresa
2016/08/24 全球购物
将"引用"作为函数参数有哪些特点
2013/04/05 面试题
通息工程毕业生自荐信
2013/10/16 职场文书
商务日语毕业生自荐信范文
2013/11/14 职场文书
网络维护中文求职信
2014/01/03 职场文书
五年级科学教学反思
2014/02/05 职场文书
创建服务型党组织实施方案
2014/02/25 职场文书
主要负责人任命书
2014/06/06 职场文书
植树节标语
2014/06/27 职场文书
2014年招生工作总结
2014/11/26 职场文书
python使用glob检索文件的操作
2021/05/20 Python
关于flex 上下文中自动 margin的问题(完整例子)
2021/05/20 HTML / CSS
Win7/8.1用户可以免费升级到Windows 11系统吗?
2021/11/21 数码科技