1
Je souhaite imprimer la valeur d'un élément d'entrée dans la console à l'aide de la fonction de masquage.Knockout non fourni Valeur mise à jour à l'aide de la liaison de valeur
Lorsque j'essaie d'imprimer cette valeur, j'obtiens "résultat" au lieu de la valeur de la zone de texte.
var ViewModel = {
name: ko.observable("name"),
company: ko.observable("company"),
submit: ko.observable("Submit"),
onsubmit: function(){
console.log(name);
}
}
ko.applyBindings(ViewModel);
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.2/knockout-min.js"></script>
<form>
<label>Name</label>
<input type="text" data-bind="value:name"/>
<label>Company</label>
<input type="text" data-bind="value:company"/>
<button data-bind="click:onsubmit,text:submit"></button>
</form>
Merci cela a fonctionné. Pouvez-vous m'expliquer ce que je faisais de mal? – harry19
Je crois que le problème vient du fait que lorsque vous appelez console.log (nom), le nom ne se réfère pas au même nom que vous avez déclaré. Et ceci peut être corrigé en faisant var self = this; et vous utilisez self.name pour vous assurer qu'il se réfère au bon nom d'objet – muhihsan
pouvons-nous utiliser directement "this.name" à la place? – harry19