Hinweis: Dies dient hauptsächlich zum Debuggen und Verstehen von KnockoutJS.
Gibt es eine Möglichkeit, Knockout explizit aufzufordern, die Ansicht aus dem (bereits gebundenen) Ansichtsmodell zu aktualisieren? Ich suche so etwas wie:
ko.refreshView();
Ich verstehe, dass dies keine beabsichtigte Verwendung von Knockout ist, aber ich möchte trotzdem wissen, ob es eine solche Methode zum Debuggen und Lernen gibt.
knockout.js
THX-1138
quelle
quelle
valueHasMutated
Eigenschaft vom Typ suchenfunction
und diese für jedes Element aufrufen. Das sollte alle Ihre Observablen erhalten, aber es ist eine schlechte Praxis und es ist denkbar, dass Sie viel mehr Updates abfeuern, als Sie erwarten (denken Sie an berechnete Abhängigkeitsketten).myViewModel.valueHasMutated()
, um die gesamte Ansicht zu aktualisieren.Unter bestimmten Umständen kann es nützlich sein, die Bindungen einfach zu entfernen und dann erneut anzuwenden:
quelle
Ich habe hier mit meinem bindHTML-Knockout-Bindungshandler eine JSFiddle erstellt: https://jsfiddle.net/glaivier/9859uq8t/
Speichern Sie zunächst den Bindungshandler in einer eigenen (oder einer allgemeinen) Datei und fügen Sie ihn nach dem Knockout ein.
Wenn Sie diesen Schalter verwenden, gehen Sie wie folgt vor:
quelle