uniqueName: <binding-value>

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

此绑定用于为DOM元素生成唯一名称。 如果DOM元素没有name属性,则此绑定将其赋予一个并将其设置为某个唯一的字符串值。

您不需要经常使用它。 它仅在少数情况下有用,例如 -

  • jQuery Validation目前只验证具有名称的元素。 要在Knockout UI中使用它,有时需要应用uniqueName绑定以避免混淆jQuery验证。

  • 如果没有名称属性,IE 6不允许检查单选按钮。 KO将在内部对这些元素使用uniqueName以确保可以检查它们。

语法 (Syntax)

uniqueName: <binding-value>

参数 (Parameters)

这里的参数将是布尔值true或false,或者是一个导致类似布尔值的表达式。 KO为此参数设置为true或类似true的元素生成唯一名称。

例子 (Example)

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

<!DOCTYPE html>
   <head>
      <title>KnockoutJS UniqueName Binding</title>
      <script src = "https://ajax.aspnetcdn.com/ajax/knockout/knockout-3.3.0.js"
         type = "text/javascript"></script>
   </head>
   <body>
      <p>Enter your pet's name: 
         <input data-bind = "value: someValue, uniqueName: true" />
      </p>
      <p>
         <button data-bind = "click: showMessage">Click here to read message </button>
      </p>
      <script type = "text/javascript">
         function ViewModel() {
            this.someValue = ko.observable();
            this.showMessage = function() {
               alert(" Nice Name"+ "\nSee rendered markup to view unique name generated!!!");
            }
         };
         var vm = new ViewModel();
         ko.applyBindings(vm);
      </script>
   </body>
</html>

输出 (Output)

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

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

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

  • 按F12并观察渲染的标记。 唯一名称由KO生成。