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