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,两者的效果只是刚好相反罢了。