enable binding往往作用于form elements,比如input、select和textarea等。包含enable binding的DOM元素会依照enable binding参数的真假来决定自己是否可用。
一个简单的例子如下:
html部分:
12 3 I have a cellphone.4
5 67 Your cellphone number:8 9
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,两者的效果只是刚好相反罢了。