KnockoutJS - Désactiver la liaison

Cette liaison est la négation de l'activation de la liaison. Cette liaison désactive l'élément DOM associé lorsque le paramètre prend la valeur true.

Syntaxe

disable: <binding-value>

Paramètres

  • Le paramètre se compose d'une valeur de type booléen, qui décide si l'élément doit être désactivé ou non. Si le paramètre est vrai ou vrai, l'élément est désactivé.

  • Les valeurs non booléennes sont considérées comme des valeurs vaguement booléennes. Signification 0 et null sont considérés comme des valeurs de type faux et les objets Integer et non-null sont considérés comme des valeurs de type vrai.

  • Si la condition en paramètre contient une valeur observable, la condition est réévaluée chaque fois que la valeur observable change. En conséquence, le balisage associé sera désactivé en fonction du résultat de la condition.

Exemple

Jetons un coup d'œil à l'exemple suivant qui illustre l'utilisation de la désactivation de la liaison.

<!DOCTYPE html>
   <head>
      <title>KnockoutJS Disable Binding</title>
      <script src = "https://ajax.aspnetcdn.com/ajax/knockout/knockout-3.3.0.js"
         type = "text/javascript"></script>
   </head>

   <body>
      <p> Enter your feedback here:<br><br>
         <textarea rows = 5 data-bind = "value: hasFeedback, 
            valueUpdate: 'afterkeydown'" ></textarea>
      </p>
      
      <p><button data-bind = "disable: !(hasFeedback())">Save Feedback</button></p>

      <script type = "text/javascript">
         function ViewModel () {
            hasFeedback = ko.observable('');
         };

         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 disable-bind.htm fichier.

  • Ouvrez ce fichier HTML dans un navigateur.

  • Le bouton Enregistrer est désactivé lorsque l'utilisateur n'a saisi aucun commentaire.

Vous pouvez également utiliser une expression aléatoire pour décider si l'élément doit être désactivé ou non.