KnockoutJS - uniqueName 绑定
此绑定用于为 DOM 元素生成唯一名称。如果 DOM 元素没有 name 属性,此绑定将为其提供一个名称并将其设置为某个唯一字符串值。
您不需要经常使用它。它仅在少数情况下有用,例如 −
jQuery 验证目前仅验证具有名称的元素。要将其与 Knockout UI 一起使用,有时需要应用 uniqueName 绑定以避免混淆 jQuery 验证。
如果单选按钮没有 name 属性,则 IE 6 不允许选中它们。 KO 将在内部对这些元素使用 uniqueName 以确保可以检查它们。
语法
uniqueName: <binding-value>
参数
此处的参数将是布尔值 true 或 false 或导致布尔值类似的表达式。如果此参数设置为 true 或 true 类似值,KO 将为该元素生成一个唯一名称。
示例
让我们看下面的示例,该示例演示了如何使用 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"+ "
See rendered markup to view unique name generated!!!");
}
};
var vm = new ViewModel();
ko.applyBindings(vm);
</script>
</body>
</html>
输出
让我们执行以下步骤来查看上述代码的工作原理 −
将上述代码保存在 uniquename-bind.htm 文件中。
在浏览器中打开此 HTML 文件。
按 F12 并观察呈现的标记。唯一名称由 KO 生成。
knockoutjs_declarative_bindings.html

