KnockoutJS - Disable 绑定
此绑定是启用绑定的否定。当参数计算结果为 true 时,此绑定将禁用关联的 DOM 元素。
语法
disable: <binding-value>
参数
参数由布尔值组成,决定是否应禁用元素。如果参数为 true 或 true-like 值,则禁用该元素。
非布尔值被视为松散的布尔值。意思是 0 和 null 被视为类似 false 的值,而 Integer 和非 null 对象被视为类似 true 的值。
如果参数中的条件包含可观察值,则每当可观察值发生变化时,都会重新评估条件。相应地,将根据条件结果禁用相关标记。
示例
让我们看看下面的示例,它演示了禁用绑定的用法。
<!DOCTYPE html> <head> <title>KnockoutJS Disable Binding</title> <script src = "https://ajax.aspnetcdn.com/ajax/knockout/knockout-3.3.0.js" type = "text/javascript"></script> </head> <body> <p> Enter your feedback here:<br><br> <textarea rows = 5 data-bind = "value: hasFeedback, valueUpdate: 'afterkeydown'" ></textarea> </p> <p><button data-bind = "disable: !(hasFeedback())">Save Feedback</button></p> <script type = "text/javascript"> function ViewModel () { hasFeedback = ko.observable(''); }; var vm = new ViewModel(); ko.applyBindings(vm); </script> </body> </html>
输出
让我们执行以下步骤来查看上述代码的工作原理 −
将上述代码保存在 disable-bind.htm 文件中。
在浏览器中打开此 HTML 文件。
当用户未输入任何反馈时,保存按钮将被禁用。
您还可以使用随机表达式来决定是否应禁用元素。
knockoutjs_declarative_bindings.html