selectedOptions绑定 selectedOptions绑定用于控制multi-select列表已经被选择的元素,用在使用options绑定的元素上。...这种方式是2-way绑定。 注:控制single-select下拉菜单选择项,你可以使用value绑定。...chosenCountries" size="5" multiple="true"> knockout...uniqueName绑定 uniqueName绑定确保所绑定的元素有一个非空的name属性。如果该元素没有name属性,那绑定会给它设置一个unique的字符串值作为name属性。...为配合Knockout UI使用,有些时候需要使用uniqueName绑定避免让jQuery Validation验证出错。
Html绑定 html绑定到DOM元素上,使得该元素显示的HTML值为你绑定的参数。如果在你的view model里声明HTML标记并且render的话,那非常有用。...关于HTML encoding 因为该绑定设置元素的innerHTML,你应该注意不要使用不安全的HTML代码,因为有可能引起脚本注入攻击。...如果你不确信是否安全(比如显示用户输入的内容),那你应该使用text绑定,因为这个绑定只是设置元素的text 值innerText和textContent。...Css绑定 css绑定是添加或删除一个或多个CSS class到DOM元素上。 非常有用,比如当数字变成负数时高亮显示。...(注:如果你不想应用CSS class而是想引用style属性的话,请参考style绑定。)
前言 click绑定在DOM元素上添加事件句柄以便元素被点击的时候执行定义的JavaScript 函数。大部分是用在button,input和连接a上,但是可以在任意元素上使用。...me event knockout-2.3.0.debug.js"></script...允许执行默认事件 默认情况下,Knockout会阻止冒泡,防止默认的事件继续执行。例如,如果你点击一个a连接,在执行完自定义事件时它不会连接到href地址。...防止事件冒泡 默认情况下,Knockout允许click事件继续在更高一层的事件句柄上冒泡执行。例如,如果你的元素和父元素都绑定了click事件,那当你点击该元素的时候两个事件都会触发的。...如果需要,你可以通过额外的绑定clickBubble来禁止冒泡。
注:如果你在checkbox或者radio button上使用checked绑定来读取或者写入元素的 checked状态,而不是value 值的绑定。...type="password" data-bind="value: userPassword"/> knockout...绑定下拉菜单drop-down list(例如SELECT) Knockout对下拉菜单drop-down list绑定有一个特殊的支持,那就是在读取和写入绑定的时候,这个值可以是任意JavaScript...具体例子,参考options绑定。 类似,如果你想创建一个multi-select list,参考selectedOptions绑定。...但是,如果你的元素绑定的是一个non-observable属性(例如是一个原始的字符串或者JavaScript表达式) ,KO会这样执行: 1.如果你绑定的non-observable属性是简单对象
对于multi-select列表,设置或者获取选择的多项需要使用selectedOptions绑定。...对于single-select列表,你也可以使用value绑定读取或者设置元素的selected项。...data-bind="options: availableCountries"> knockout... knockout-2.3.0.debug.js"> 绑定,有自己的文档,请参考: selectedOptions绑定。
event绑定 event绑定在DOM元素上添加指定的事件句柄以便元素被触发的时候执行定义的JavaScript 函数。大部分情况下是用在keypress,mouseover和mouseout上。...visible: detailsEnabled"> Details knockout...submit绑定 submit绑定在form表单上添加指定的事件句柄以便该form被提交的时候执行定义的JavaScript 函数。只能用在表单form元素上。 ...当你使用submit绑定的时候, Knockout会阻止form表单默认的submit动作。换句话说,浏览器会执行你定义的绑定函数而不会提交这个form表单到服务器上。...总共有两个元素一个是录入框,另一个是submit提交按钮 在form上,你可以使用click绑定代替submit绑定。
Style绑定 style绑定是添加或删除一个或多个DOM元素上的style值。比如当数字变成负数时高亮显示,或者根据数字显示对应宽度的Bar。...(注:如果你不是应用style值而是应用CSS class的话,请参考CSS绑定。)...'red' : 'black' }"> Profit Information knockout...attr 绑定提供了一种方式可以设置DOM元素的任何属性值。...使用绑定,当模型属性改变的时候,它会自动更新。
enable绑定 enable绑定使DOM元素只有在参数值为 true的时候才enabled。在form表单元素input,select,和textarea上非常有用。...="value: cellphoneNumber, enable: hasCellphone"/> knockout...如果你的参数是observable的,那绑定会随着observable值的改变而自动更新enabled/disabled状态。如果不是,则只会设置一次并且以后不再更新。...= '555'"> Do something disable绑定 disable绑定使DOM元素只有在参数值为 true的时候才disabled。...disable绑定和enable绑定正好相反,详情请参考enable绑定
前言 checked绑定是关联到checkable的form表单控件到view model上 - 例如checkbox()或者radio button(绑定来读取和写入是该元素的值,而不是checked绑定。...type="checkbox" data-bind="checked:wantsSpam" /> knockout...spamFlavors"/> Monosodium Glutamate knockout
前言 text 绑定到DOM元素上,使得该元素显示的文本值为你绑定的参数。该绑定在显示或者上非常有用,但是你可以用在任何元素上。...="~/Scripts/knockout-2.3.0.debug.js"> var viewModel...如果你需要显示HTML内容,请参考html绑定. 关于IE 6的白空格whitespace IE6有个奇怪的问题,如果 span里有空格的话,它将自动变成一个空的span。...如果你想编写如下的代码的话,那Knockout将不起任何作用: 导航 1.KnockoutJs官网学习(简单了解和入门) 2.Knockout.Js官网学习(监控属性Observables) 3....Knockout.Js官网学习(数组observable) 4.Knockout.Js官网学习(visible绑定)
前言 让visible绑定到DOM元素上,使得该元素的hidden或visible取决于绑定的值。...简单的绑定 首先还是先定义一个ViewModel var AppViewModel = { shouldShowMessage: ko.observable(true) /...= ko.observable(false); ///现在hidden勒 ko.applyBindings( AppViewModel); 并且通过ko.applyBindins进行激活Knockout...当参数设置为一个真值时(例如:布尔值true,或者非空non-null的对象或者数组) ,该绑定会删除该元素的style.display值,让元素可见。...导航 1.KnockoutJs官网学习(简单了解和入门) 2.Knockout.Js官网学习(监控属性Observables) 3.Knockout.Js官网学习(数组observable)
前言 你可以创建自己的自定义绑定 – 没有必要非要使用内嵌的绑定(像click,value等)。你可以你封装复杂的逻辑或行为,自定义很容易使用和重用的绑定。...例如,你可以在form表单里自定义像grid,tabset等这样的绑定。...注册你的绑定 添加子属性到ko.bindingHandlers来注册你的绑定: ko.bindingHandlers.yourBindName...例如,你可能想通过 visible绑定来控制一个元素的可见性,但是你想让该元素在隐藏或者显示的时候加入动画效果。...init回调 Knockout在DOM元素使用自定义绑定的时候会调用你的init函数。
今天我想试着解决这样一个问题,如:将knockout 与 大家熟悉的easyui结合在一起。让easyui具有MVVM的能力,也有不使用easyui的特性,看大家是否喜欢这一口。...}); 2.2 easyui组件的配置和方法怎么变成ko组件的参数和方法 上一步骤中的EasyuiHelper.createEasyui方法,就是实现对easyui组件的创建,以及参数的响应和方法的绑定...$dom = $(componentConfig.element).find('div'); //绑定方法,方法还需要继承组件支持的方法的绑定...然后将easyui的方法绑定到类实例上。然后对外提供paint和repaint两个方法进行组件的绘制和重绘。但这个时候又出现了另一个问题,什么时候进行绘制重绘呢?
下面简单介绍一下Knockout的基本用法,作为备忘。 1 Knockout简介 Knockout是一个轻量级的UI类库,通过应用MVVM模式使JavaScript前端UI简单化。...Knockout是一个以数据模型(data model)为基础的能够帮助你创建富文本,响应显示和编辑用户界面的JavaScript类库。...Knockout有如下4大重要概念: 1、声明式绑定 (Declarative Bindings):使用简明易读的语法很容易地将模型(model)数据关联到DOM元素上。...例如: var myViewModel = { personName: 'Bob', personAge: 123 }; 把该ViewModel绑定到HTMl代码中,例如:下面的代码显示...}; $(document).ready(function () { //绑定 ko.applyBindings(ClassViewModel); //添加学生信息
一、主类关系图 二、类职责 2.1、observable(普通监控对象类) observable(他其是一个function)的内部实现: 1.首先声明一个名为...
1、Knockout.js是什么?...Knockout是一款很优秀的JavaScript库,它可以帮助你仅使用一个清晰整洁的底层数据模型(data model)即可创建一个富文本且具有良好的显示和编辑功能的用户界面。...声明绑定-它通过简单浅显的方式将你的UI与数据源模型进行绑定,你可以使用任意嵌套的结构模版来组建一个复杂的动态界面。 良好的可扩展性-通过简单的几行代码就可以实现一个自定义行为作为新的声明进行绑定。...5、用Knockout来实现又有何不同? 使用KO这一切都变得非常简单。它可以让你很轻易的扩展项目的复杂度,而不必担心由此产生的数据不一致问题。...它仅仅只需要将你的数据转换成一个JavaScript数组,然后使用foreach将数据数组绑定到页面中的一个表格table或者一组div中。
前言 最近一段时间在网上经常看到关于Knockout.js文章,于是自己就到官网看了下,不过是英文的,自己果断搞不来,借用google翻译了一下。...WPF的数据绑定与Presentation Model相结合是非常好的做法,使得开发人员可以将View和逻辑分离出来,但这种数据绑定技术非常简单实用,也是WPF所特有的,所以我们又称之为Model-View-ViewModel...数据绑定系统还支持提供了标准化的方式传输到视图的验证错误的输入的验证。 在视图(View)部分,通常也就是一个Aspx页面。...开始使用Knockout.js 如果你建立像asp.net mvc 4.0这样的Web应用程序,那么你可以不用任何操作即可以使用Knockout.js,如果你建立其他的项目或许需要引用该类库。...3.通过data-bind="value:myValue"将myValue属性绑定到的value值。
在applyBindinsToNodeAndDescendantsInteranl方法,主要完成当前Node的绑定,以及子Node的绑定 function applyBindingsToNodeAndDescendantsInternal
一、序列图 二、主要代码文件 1、dependentObservable.js:主要包含ko.computed相关方法的处理 2、dependencyDetec...
前言 Knockout设计成允许你使用任何JavaScript对象作为view model。...必须view model的一些属性是observable的,你可以使用KO绑定他们到你的UI元素上,当这些observable值改变的时候,这些UI元素就会自动更新。...使用mapping要引用的Js文件https://github.com/SteveSanderson/knockout.mapping/tree/master/build/output。...var viewModel = { serverTime: ko.observable(), numUsers: ko.observable() }; 然后绑定...由于view model属性是observable的,在他们变化的时候,KO会自动更新绑定的HTML元素。 接下来,从服务器获取最新的数据。
领取专属 10元无门槛券
手把手带您无忧上云