Knockout是一個以數據模型(data model)為基礎的能夠幫助你創建富文本,響應顯示和編輯用戶界面的JavaScript類庫。任何時候如果你的UI需要自動更新(比如:更新依賴於用戶的行為或者外部數據源的改變),KO能夠很簡單的幫你實現並且很容易維護。
submit綁定目的
submit綁定即為提交綁定,通常用於form元素。這種綁定方式會打斷默認的提交至服務器的操作。轉而提交到你設定好的提交綁定回調函數中。如果要打破這個默認規則,只需要在回調函數中返回true即可。
例如:
<form data-bind="submit: doSomething"> ... form contents go here ... <button type="submit">Submit</button> </form> <script type="text/javascript"> var viewModel = { doSomething : function(formElement) { // ... now do something } }; </script>
在回調函數中,你可以做很多事情,比如前端數據驗證if ($(formElement).valid()) { /* do something */ }。等等。
enable綁定目的
enable綁定主要用於DOM元素的啟用禁用狀態,通常用於input,select或者textarea。例如:
I have a cellphone
Your cellphone number:
源碼:
<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>
disable綁定目的
disable綁定與enable綁定整好相反,你可以參考enable。