enable 바인딩은 해당 DOM소요를 파라미터 값이 true일때 enable시킵니다. 이러한 기능은 input, select, textarea와 같은 요소들에게 매우 유용합니다.
<p> <input type='checkbox' data-bind="checked: hasCellphone" /> I have a cellphone</p><p> Your cellphone number: <input type='text' data-bind="value: cellphoneNumber, enable: hasCellphone" /></p><script type="text/javascript"> var viewModel = { hasCellphone : ko.observable(false), cellphoneNumber: "" };</script> |
위의 예에서 “Your cellphone number” 텍스트박스는 초기화 될때 disable됩니다. 사용자가 “I have a cellphone” 체크박스를 체크할때 이 텍스트 박스는 enable됩니다.
Main parameter(주파라미터)
해당 DOM요소가 enable되야할지 안되야할지를 결정하는 값.
bool 타입 값이 아닌 값들이 아닌경우 bool타입으로 변환 됩니다. 예를 들면 0과 null은 false로 취급되고 21과 non-null은 true로 취급됩니다.
만약 여러분의 파라미터가 observable 값을 참조하고 있다면 enable/disable은 그 상태에 따라 자동으로 바뀌게 될것입니다. 만약 파라미터가 어떤 observable 값도 참조하고 있지않다면 한번만 셋팅이 되고 변경이 없을 것입니다.
Additional parameters(추가 파라미터)
여러분은 변수들을 참조하는게 뿐만아니라 다른 표현식을 참조할수 있습니다. 아래의 예제를 보세요,
<button data-bind="enable: parseAreaCode(viewModel.cellphoneNumber()) != '555'"> Do something</button> |
Knockout Kore library.