KnockoutJS - liaison de nom unique

Cette liaison est utilisée pour générer un nom unique pour un élément DOM. Si l'élément DOM n'avait pas d'attribut de nom, cette liaison lui en donne un et lui attribue une valeur de chaîne unique.

Vous n'aurez pas besoin de l'utiliser souvent. Ce n'est utile que dans quelques rares cas, par exemple -

  • jQuery Validation validera actuellement uniquement les éléments qui ont des noms. Pour l'utiliser avec une interface utilisateur Knockout, il est parfois nécessaire d'appliquer la liaison uniqueName pour éviter de confondre jQuery Validation.

  • IE 6 ne permet pas de cocher les boutons radio s'ils n'ont pas d'attribut de nom. KO utilisera en interne uniqueName sur ces éléments pour s'assurer qu'ils peuvent être vérifiés.

Syntaxe

uniqueName: <binding-value>

Paramètres

Le paramètre ici sera la valeur booléenne true ou false ou une expression résultant en une valeur de type booléen. Un nom unique est généré par KO pour l'élément pour lequel ce paramètre est défini sur true ou true .

Exemple

Jetons un coup d'œil à l'exemple suivant qui illustre l'utilisation de la liaison 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>

Production

Exécutons les étapes suivantes pour voir comment fonctionne le code ci-dessus -

  • Enregistrez le code ci-dessus dans uniquename-bind.htm fichier.

  • Ouvrez ce fichier HTML dans un navigateur.

  • Appuyez sur F12 et observez le balisage rendu. Le nom unique est généré par KO.