KnockoutJS - Desativar vinculação
Essa vinculação é a negação de ativar a vinculação. Essa ligação desativa o elemento DOM associado quando o parâmetro é avaliado como verdadeiro.
Sintaxe
disable: <binding-value>
Parâmetros
O parâmetro consiste em um valor do tipo booleano, que decide se o elemento deve ser desabilitado ou não. Se o parâmetro for verdadeiro ou um valor semelhante a verdadeiro, o elemento será desabilitado.
Os valores não booleanos são considerados valores vagamente booleanos. O que significa que 0 e nulo são considerados valores semelhantes a falsos e objetos inteiros e não nulos são considerados valores semelhantes a verdadeiros.
Se a condição no parâmetro contém um valor observável, então a condição é reavaliada sempre que o valor observável muda. Da mesma forma, a marcação relacionada será desabilitada com base no resultado da condição.
Exemplo
Vamos dar uma olhada no exemplo a seguir, que demonstra o uso de desativar vinculação.
<!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>
Resultado
Vamos realizar as seguintes etapas para ver como funciona o código acima -
Salve o código acima em disable-bind.htm Arquivo.
Abra este arquivo HTML em um navegador.
O botão salvar é desabilitado quando o usuário não insere nenhum feedback.
Você também pode usar uma expressão aleatória para decidir se o elemento deve ser desativado ou não.