KnockoutJS - enlace de nombre único
Este enlace se utiliza para generar un nombre único para un elemento DOM. Si el elemento DOM no tenía un atributo de nombre, este enlace le da uno y lo establece en un valor de cadena único.
No necesitará usar esto a menudo. Solo es útil en algunos casos raros, por ejemplo:
jQuery Validation actualmente solo validará elementos que tengan nombres. Para usar esto con una interfaz de usuario Knockout, a veces es necesario aplicar el enlace uniqueName para evitar confundir la validación de jQuery.
IE 6 no permite que se verifiquen los botones de opción si no tienen un atributo de nombre. KO utilizará internamente uniqueName en esos elementos para asegurarse de que se puedan verificar.
Sintaxis
uniqueName: <binding-value>
Parámetros
El parámetro aquí será un valor booleano verdadero o falso o una expresión que resulte en un valor booleano. Un nombre único es generado por KO para el elemento para el que este parámetro se establece en verdadero o cierto valor -como.
Ejemplo
Echemos un vistazo al siguiente ejemplo que demuestra el uso del enlace 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>
Salida
Realicemos los siguientes pasos para ver cómo funciona el código anterior:
Guarde el código anterior en uniquename-bind.htm archivo.
Abra este archivo HTML en un navegador.
Presione F12 y observe el marcado renderizado. El nombre único es generado por KO.