Ist es in irgendeiner Weise möglich, Folgendes zu tun, ohne temporäre Observablen / berechnete Observablen passieren zu müssen? Ich habe gemeinsame Daten, die für Lookups verwendet werden, um Daten anzuzeigen:
%Vor%Ergebnis: Funktion ist erfüllt, Parameter gefunden, Logik ok, und berechneter vollständiger Name wird zurückgegeben, aber nicht angezeigt (wahrscheinlich seit nicht beobachtbar)
%Vor%Ergebnis: contactId wird nicht analysiert, daher ist der korrekte Parameterwert nicht sichtbar.
Ich nehme an, damit dies richtig funktioniert, müsste ich benutzerdefinierte Bindungen erstellen?
im Allgemeinen: Ich begann zu zweifeln, ob mein Ansatz, Daten nur einmal zu laden und zu versuchen, IDs zusammenzuführen, ein guter Ansatz ist. irgendwelche Ansichten? Ich bin besser von verbundenen Db-Tabellen / Ansichten / SPs erstellen?
Danke, J.
hier sind die relevanten Codestücke, die ich benutze ... Ich werde jsfiddle für zukünftige Hilfe lernen.
ALLE ALERTs geben die erwarteten Werte zurück ... aber die Textdatenbindung erhält immer noch nicht den Wert
Eine gemeinsame Datenbibliothek:
%Vor%Was von hier aufgerufen wird ... (ich habe es in contactId () geändert und übergibt den richtigen Wert an die Funktion)
%Vor% Wenn sich Ihre <span data-bind="text: lookupContactName(contactId())"></span>
in einer foreach-Schleife befindet, müssen Sie die Methode mit $ root voranstellen oder sie sucht nach "lookupContactName" innerhalb des Arrays, durch das sie durchläuft.
Versuchen Sie:
%Vor%Problem ist, dass Ihre Lookup-Funktion keinen Wert zurückgibt
%Vor%Ihr "return" bezieht sich auf die innere Funktion, die an die arrayForEach-Methode übergeben wird. Du brauchst einen Code wie diesen
%Vor%Ich bin nicht so sicher zu verstehen, was hier dein Problem ist. Sie können so etwas tun, wenn Sie möchten:
%Vor%Es sollte einfach funktionieren.
Tags und Links knockout.js