Читать книгу Forms over Data mit Knockout.js - Tilman Börner - Страница 7
Berechnete Felder: ko.computed
ОглавлениеGertrud überlegt es sich noch mal anders: Sie hätte gern sowohl Vor- als auch Nachname auf dem Bildschirm. Hintereinander. Das lässt sich sehr einfach mit einer berechneten Observable erreichen. Dazu definiert man ein neues Feld
totalName = ko.computed(function(){
return this.firstname + " " + this.lastname; });
Abbildung 3: Berechnete Felder können beispielsweise die Länge von Wörtern anzeigen.
totalName wird dann an die data-bind-text-Eigenschaft des div-Elements gebunden. Jedes Mal, wenn sich jetzt einer der beiden Namen Vorname oder Nachname verändert, berechnet Knockout.js den Wert neu und weist ihn dem Element in der View zu. Dieser Mechanismus eignet sich beispielsweise auch, um Konvertierungen zwischen verschiedenen Währungen oder Zeiten vorzunehmen.