Alle,Wie auf einem Wert, der eine Abhängigkeit zu Setup von einem Server in Knockout kommenden
HINWEIS (mein Setup):
Knockout JS lib
Knockout-Mapping lib (mein Ansicht-Modell Verwendung von Knockout-Mapping js lib)
ich habe ein Benutzer eine Rechnung Form und jedes Mal ändert, wird auf dem Server erzeugt und zu beobachtbaren VM umgewandelt einer der folgenden Werte:
Menge, Einzelpreis
Ich möchte auf den Server gehen, um die Gesamtsteuer zu berechnen und diese Steuer in einer Spanne zu rendern.
Ich bin auf der Suche nach Code in Knockout, die den berechneten Gesamtsteuerwert vom Server zurückgegeben asynchron zurückgibt und es enthält Abhängigkeit Kette auf Menge und Stückpreis. Die Schwierigkeit hierbei besteht darin, dass die Serveraufrufe asynchron sind und wie ich eine Aktualisierung in Knockout auslösen kann.
UPDATE:
ich unten an der Lösung zurückgegriffen, schlagen Sie bitte, ob es eine bessere Antwort. Nur zu dieser Lösung Nachteil ist, wenn das Formular für alle Steuerelemente, die onchange-Ereignis ausgelöst wird Databound ist, der dieses Ereignis haben Bindung (so dass einmal ist pro Position):
<input data-bind="value: Quantity, event:{ change: calculateTax()}" />
<td data-bind="text: renderCurrency(tax())"></td>
vm.tax = ko.observable(0);
function calculateTax() {
var document = ko.mapping.toJS(vm).Document;
var json = JSON.stringify(document);
svc.GetTax(json,
function(results, ctx, methodName) {
var mny = results;
vm.tax(mny.Amount);
}
);
}
Es nützlich sein würde, wenn Sie den zweiten Teil erwägen, entweder ein integraler Bestandteil des Posts oder einen separate Antwort. Stellen Sie außerdem sicher, dass Ihre Frage ein [mcve] enthält (ich habe Ihren Kommentar zu der Antwort gesehen, der auf die Tatsache hinweist, dass Sie ko.mapping haben, diese Dinge sind wichtig, wenn wir bei der Suche nach einer Lösung helfen). – Jeroen
Mein schlechtes, ich habe meine Frage bearbeitet. – ActiveX