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

posted @ 2014-08-27 10:37  CharlieYuki  阅读(168)  评论(0编辑  收藏  举报