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 相关文章推荐
XMLHTTP 乱码的解决方法(UTF8,GB2312 编码 解码)
Jan 12 Javascript
js复制到剪切板的实例方法
Jun 28 Javascript
jQuery动画效果-fadeIn fadeOut淡入浅出示例代码
Aug 28 Javascript
基于Jquery实现表单验证
Jul 20 Javascript
jquery动态遍历Json对象的属性和值的方法
Jul 27 Javascript
微信通过页面(H5)直接打开本地app的解决方法
Sep 09 Javascript
微信小程序 Animation实现图片旋转动画示例
Aug 22 Javascript
vue实现跳转接口push 转场动画示例
Nov 01 Javascript
jQuery实现鼠标放置名字上显示详细内容气泡提示框效果的方法分析
Apr 04 jQuery
Javascript类型判断相关例题及解析
Aug 26 Javascript
在elementui中Notification组件添加点击事件实例
Nov 11 Javascript
vue 通过base64实现图片下载功能
Dec 19 Vue.js
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查询数据库中满足条件的记录条数(两种实现方法)
2013/01/29 PHP
PHP获取当前页面URL函数实例
2014/10/22 PHP
PHP获取数组最后一个值的2种方法
2015/01/21 PHP
php获取网页里所有图片并存入数组的方法
2015/04/06 PHP
javascript面向对象编程代码
2011/12/19 Javascript
cookie在javascript中的使用技巧以及隐私在服务器端的设置
2012/12/03 Javascript
JS在TextArea光标位置插入文字并实现移动光标到文字末尾
2013/06/21 Javascript
浅谈javascript中基本包装类型
2015/06/03 Javascript
基于jQuery实现中英文切换导航条效果
2016/09/18 Javascript
angular学习之从零搭建一个angular4.0项目
2017/07/10 Javascript
微信小程序实现折叠与展开文章功能
2018/06/12 Javascript
jQuery实现动画、消失、显现、渐出、渐入效果示例
2018/09/06 jQuery
Vue中的Props(不可变状态)
2018/09/29 Javascript
微信小程序实现单选功能
2018/10/30 Javascript
vue实现微信分享链接添加动态参数的方法
2019/04/29 Javascript
解决微信授权成功后点击按返回键出现空白页和报错的问题
2020/06/08 Javascript
react+antd 递归实现树状目录操作
2020/11/02 Javascript
python实现得到一个给定类的虚函数
2014/09/28 Python
Python实现给qq邮箱发送邮件的方法
2015/05/28 Python
python并发编程之多进程、多线程、异步和协程详解
2016/10/28 Python
python实现学生管理系统
2018/01/11 Python
python面向对象实现名片管理系统文件版
2019/04/26 Python
Python应用领域和就业形势分析总结
2019/05/14 Python
python 生成器和迭代器的原理解析
2019/10/12 Python
Pycharm激活码激活两种快速方式(附最新激活码和插件)
2020/03/12 Python
python实现飞船大战
2020/04/24 Python
Django mysqlclient安装和使用详解
2020/09/17 Python
css3实现画半圆弧线的示例代码
2017/11/06 HTML / CSS
波兰在线香水店:Perfumy.pl
2019/08/12 全球购物
国际政治个人自荐信范文
2013/11/26 职场文书
大学系主任推荐信范文
2013/12/24 职场文书
空气的环保标语
2014/06/12 职场文书
护理目标管理责任书
2014/07/25 职场文书
债务纠纷起诉书
2015/05/20 职场文书
学生会招新宣传语
2015/07/13 职场文书
会议主持词通用版
2019/04/02 职场文书