首页 > 代码库 > KnockoutJs学习笔记(十一)

KnockoutJs学习笔记(十一)

enable binding往往作用于form elements,比如input、select和textarea等。包含enable binding的DOM元素会依照enable binding参数的真假来决定自己是否可用。

一个简单的例子如下:

html部分:

1 <p>2     <input type="checkbox" data-bind="checked: hasCellphone" />3     I have a cellphone.4 </p>5 6 <p>7     Your cellphone number:8     <input type="text" data-bind="value: cellphoneNumber, enable: hasCellphone" />9 </p>

js部分:

1 function MyViewModel() {2     var self = this;3 4     self.cellphoneNumber = "";5     self.hasCellphone = ko.observable(false);6 }7 8 ko.applyBindings(new MyViewModel());

enable binding的参数可以是viewModel中的函数,也可以是任意的javascript判断语句。如果说参数是一个observable,则每当该observable变化时,UI就会立即更新相应元素的enable状态,否则,UI只会对元素的enable状态设置一次。

至于disable binding的使用方法完全可以参照enable binding,两者的效果只是刚好相反罢了。

KnockoutJs学习笔记(十一)