KnockoutJS - UniqueName Binding

Essa ligação é usada para gerar um nome exclusivo para um elemento DOM. Se o elemento DOM não tiver um atributo de nome, esta ligação fornece um e o define como algum valor de string exclusivo.

Você não precisará usar isso com frequência. Só é útil em alguns casos raros, por exemplo -

  • A validação jQuery atualmente só validará elementos que possuem nomes. Para usar isso com uma interface de usuário Knockout, às vezes é necessário aplicar a vinculação uniqueName para evitar confundir a validação do jQuery.

  • O IE 6 não permite que os botões de opção sejam marcados se não tiverem um atributo de nome. KO usará internamente uniqueName nesses elementos para garantir que possam ser verificados.

Sintaxe

uniqueName: <binding-value>

Parâmetros

O parâmetro aqui será o valor booleano verdadeiro ou falso ou uma expressão que resulte em um valor booleano. Um nome exclusivo é gerado por KO para o elemento para o qual este parâmetro é definido como true ou true -like value.

Exemplo

Vamos dar uma olhada no exemplo a seguir, que demonstra o uso da ligação 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>

Resultado

Vamos realizar as seguintes etapas para ver como funciona o código acima -

  • Salve o código acima em uniquename-bind.htm Arquivo.

  • Abra este arquivo HTML em um navegador.

  • Pressione F12 e observe a marcação renderizada. O nome exclusivo é gerado por KO.