KnockoutJS - Enable 绑定
此绑定用于根据指定条件启用某些 DOM 元素。这对于表单元素(例如 input、select 和 textarea)非常有用。
语法
enable: <binding-value>
参数
参数由布尔值组成,决定是否应启用元素。如果参数为 true 或 true 值,则元素已启用。
非布尔值被视为松散的布尔值。意思是 0 和 null 被视为类似 false 的值,而 Integer 和非 null 对象被视为类似 true 的值。
如果参数中的条件包含任何可观察值,则每当可观察值发生变化时都会重新评估条件。相应地,将根据条件结果启用相关标记。
示例
让我们看看下面的示例,它演示了启用绑定的用法。
<!DOCTYPE html>
<head>
<title>KnockoutJS Enable 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 = "enable: hasFeedback">Save Feedback</button></p>
<script type = "text/javascript">
function ViewModel () {
hasFeedback = ko.observable('');
};
var vm = new ViewModel();
ko.applyBindings(vm);
</script>
</body>
</html>
输出
让我们执行以下步骤来查看上述代码的工作原理 −
将上述代码保存在 enable-bind.htm 文件中。
在浏览器中打开此 HTML 文件。
仅当用户输入反馈后,保存按钮才会启用。
使用随机表达式实现启用绑定
您还可以使用随机表达式来决定元素是否应启用或禁用不是。
示例
让我们看看下面的示例,该示例演示了如何使用随机表达式来调用启用绑定。
<!DOCTYPE html>
<head>
<title>KnockoutJS Enable binding</title>
<script src = "https://ajax.aspnetcdn.com/ajax/knockout/knockout-3.3.0.js"
type = "text/javascript"></script>
</head>
<body>
<p>Below button will be enabled only when product stock is available.</p>
<button data-bind = "enable: productStock() > 0 ">
Product Details
</button>
<script type = "text/javascript">
function AppViewModel() {
this.productStock = ko.observable(-10);
};
var vm = new AppViewModel();
ko.applyBindings(vm);
</script>
</body>
</html>
输出
让我们执行以下步骤来查看上述代码的工作原理 −
将上述代码保存在 enable-random-bind.htm 文件中。
在浏览器中打开此 HTML 文件。
仅当产品库存充足时,产品详情按钮才会启用。
knockoutjs_declarative_bindings.html

