KnockoutJS - 禁用绑定



此绑定是对启用绑定的否定操作。该绑定在参数计算为 true 时禁用关联的 DOM 元素。

语法

disable: <binding-value>

参数

  • 参数包括布尔值类型的值,该值决定元素是否应被禁用。如果参数为 true 或类似 true 的值,则禁用该元素。

  • 非布尔值将被视为弱布尔值。这意味着 0 和 null 被视为类似 false 的值,而整型和非空对象被视为类似 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.htm
广告