enable binding每每做用于form elements,好比input、select和textarea等。包含enable binding的DOM元素会依照enable binding参数的真假来决定本身是否可用。javascript
一个简单的例子以下:html
html部分:java
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部分:app
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,二者的效果只是恰好相反罢了。this