Ist es überhaupt möglich, das entsprechende Element (oder die Elemente) zu erhalten, an das eine Daten (Modell) -Instanz gebunden war?KnockoutJs: Holen Sie das gebundene Element aus einer Modellinstanz
Zum Beispiel habe ich eine Reihe von 'Person' Objekte speichert in einer ViewModel-Eigenschaft.
Ich band das Ansichtsmodell zu der Ansicht, die es macht, zum Beispiel:
<div class="people" data-bind="template: { foreach: people }">
<a href="#" class="person" data-bind="text: name"></a>
</div>
ich einige Event-Handler über jQuery dann binden:
$container.on('click', '.person', function(e){
e.preventDefault();
self.showPerson(ko.dataFor(this));
});
In meiner showPerson
Methode würde ich sparen Verweis auf das Modell. Ich könnte/könnte auch einen Verweis auf das Element speichern, aber ich möchte nicht, wenn ich es nicht muss.
self.showPerson = function(person) {
// can i get the corresponding element from the 'person' model?
};
Wer hat irgendwelche Ideen?
Danke für die Antwort. Natürlich ist der einfachste Weg, dies zu tun, ein Verweis auf das Element zu speichern, aber in meiner Frage, die ich erwähnt habe, möchte ich das nicht tun, wenn ich nicht muss. Aber ich denke, Ihre Antwort hat bestätigt, dass es nicht möglich ist, eine Liste von Elementen zu erhalten, an die das Observable gebunden war, was meiner Meinung nach keine API-Methode von knockoutjs ist. – badsyntax