KnockoutJS - Disabilita l'associazione

Questa associazione è la negazione dell'abilitazione dell'associazione. Questa associazione disabilita l'elemento DOM associato quando il parametro restituisce true.

Sintassi

disable: <binding-value>

Parametri

  • Il parametro è costituito da un valore booleano, che decide se l'elemento deve essere disabilitato o meno. Se il parametro è true o true-like, l'elemento è disabilitato.

  • I valori non booleani sono considerati valori booleani vagamente. Significato 0 e null sono considerati come valore falso e gli oggetti Integer e non nulli sono considerati come valore vero.

  • Se la condizione nel parametro contiene un valore osservabile, la condizione viene rivalutata ogni volta che il valore osservabile cambia. Di conseguenza, il markup correlato verrà disabilitato in base al risultato della condizione.

Esempio

Diamo uno sguardo al seguente esempio che dimostra l'uso della disabilitazione dell'associazione.

<!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>

Produzione

Eseguiamo i seguenti passaggi per vedere come funziona il codice sopra:

  • Salva il codice sopra in formato disable-bind.htm file.

  • Apri questo file HTML in un browser.

  • Il pulsante di salvataggio è disabilitato quando l'utente non ha inserito alcun feedback.

Puoi anche usare un'espressione casuale per decidere se l'elemento deve essere disabilitato o meno.