Czy jest w ogóle możliwe uzyskanie odpowiedniego elementu (lub elementów), do którego powiązano instancję danych (modelu)?KnockoutJs: Pobranie związanego elementu z instancji modelowej
Na przykład mam tablicę obiektów obiektów "Person" w właściwości ViewModel.
wiążę viewmodel do widoku, który czyni to np
<div class="people" data-bind="template: { foreach: people }">
<a href="#" class="person" data-bind="text: name"></a>
</div>
I następnie powiązać niektóre obsługi zdarzeń za pomocą jQuery:
$container.on('click', '.person', function(e){
e.preventDefault();
self.showPerson(ko.dataFor(this));
});
W mojej metody showPerson
chciałbym zapisać odniesienie do modelu. Ja/może/też zapisuję odniesienie do elementu, ale nie chcę, jeśli nie muszę.
self.showPerson = function(person) {
// can i get the corresponding element from the 'person' model?
};
Ktoś ma jakieś pomysły?
Dzięki za odpowiedź. Oczywiście najprostszym sposobem na zrobienie tego jest zapisanie odniesienia do elementu, ale w moim pytaniu wspomniałem, że nie chcę tego robić, jeśli nie muszę. Ale myślę, że twoja odpowiedź potwierdziła, że nie jest możliwe uzyskanie listy elementów, które można było zaobserwować, co moim zdaniem jest pozbawione metody metody knockoutjs w API. – badsyntax