enable: <binding-value>

优质
小牛编辑
138浏览
2023-12-01

此绑定用于根据指定的条件启用某些DOM元素。 这对于inputselecttextarea等表单元素很有用。

Syntax

enable: <binding-value>

Parameters

  • 参数由布尔值组成,它决定是否应启用该元素。 如果参数为true或true,则启用元素。

  • 非布尔值被视为松散布尔值。 含义0和null被视为类似于false的值,而Integer和非null对象被视为类似true的值。

  • 如果参数中的条件包含任何可观察值,则只要可观察值发生更改,就会重新计算条件。 相应地,将根据条件结果启用相关标记。

Example

让我们看一下下面的示例,该示例演示了使用enable绑定。

<!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>

Output

让我们执行以下步骤来查看上述代码的工作原理 -

  • 将以上代码保存在enable-bind.htm文件中。

  • 在浏览器中打开此HTML文件。

  • 仅当用户输入反馈时,才会启用保存按钮。

使用随机表达式实现启用绑定

您还可以使用随机表达式来决定是否应启用该元素。

Example

让我们看一下下面的示例,该示例演示了使用随机表达式来调用启用绑定。

<!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>

Output

让我们执行以下步骤来查看上述代码的工作原理 -

  • 将以上代码保存在enable-random-bind.htm文件中。

  • 在浏览器中打开此HTML文件。

  • 仅当产品库存可用时,才会启用“产品详细信息”按钮。