knockoutjs2.0工作领域与形式一.docx

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
knockoutjs2.0工作领域与形式一

“点击”绑定 目的 click绑定添加事件处理程序关联的DOM元素被点击时,让您选择的JavaScript函数将被调用。 这是最常用的元素如button , input ,和a ,但实际上任何可见的DOM元素。 例子 div Youve clicked span data-bind=text: numberOfClicks/span times button data-bind=click: incrementClickCounterClick me/button /div script type=text/javascript var viewModel = { numberOfClicks : ko.observable(0), incrementClickCounter : function() { var previousCount = this.numberOfClicks(); this.numberOfClicks(previousCount + 1); } }; /script每次您按一下按钮,这将调用incrementClickCounter()视图模型,从而改变视图模式状态,这会导致UI更新。 参数 主要技术参数 你想要的功能绑定到元素的click事件。 你可以引用任何JavaScript函数 - 它并不一定是您的视图模型的功能。 你可以引用任何对象上写一个函数click: someObject.someFunction 。 额外的参数 没有 注1:为您处理函数的参数传递一个“当前项目” 当调用您的处理程序,淘汰赛将提供电流模型作为第一个参数值。 这是特别有用,如果你使每个项目集合中的一些UI,你需要知道该项目的UI被点击。 例如, ul data-bind=foreach: places li span data-bind=text: $data/span button data-bind=click: $parent.removePlaceRemove/button /li /ul script type=text/javascript function MyViewModel() { var self = this; self.places = ko.observableArray([London, Paris, Tokyo]); // The current item will be passed as the first parameter, so we know which place to remove self.removePlace = function(place) { self.places.remove(place) } } ko.applyBindings(new MyViewModel()); /script两点要注意这个例子: 如果你是嵌套绑定上下文内,例如,如果你里面foreach或with块,但你的处理函数是对根的ViewModel或一些其他的父上下文,你需要使用前缀,如$parent或$root以找到处理函数。 如需更多有关信息$parent , $root ,和有约束力的背景,请参阅有关文件/translate_c?hl=zh-CNie=UTF8prev=_trurl=.hksl=entl=zh-CNu=/documentation/foreach-binding.htmlusg=ALkJrhgMXeUzaC6Q4q0wwCJoLhJeSwDzlgforeach 。 在您ViewModel,它是有用的申报self的别名(或其他一些变量) 。 this 这样做避免了任何问题,正在重新定义意味着别的东西,在事件处理程序或Ajax请求的回调。 this 注2:访问事件对象,或传递多个参数 在某些情况下,你可能需要访问DOM事件对象的click事件。 淘汰赛将作为第二个参数的函数传递的事件,在这个例子: button data-bind=click: myFunction Click me /button script type=text/javascript var viewModel = { myFunction: function(data, event) { if (event.shiftKey) { //do something different when user has shift key down } else { //do normal action } } }; ko.applyBindings(viewModel); /script如果需要传递多个参数,做的方法之一,它是需要一个参数,在这个例子中,函数字面包装您的处理程序: button data-bi

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档