Potrzebuję zaktualizować obserwowalną wartość elementu tablicy. Tablica obserwowalna jest zbiorem obiektów klasy. Najpierw muszę znaleźć pasujący obiekt według id i zaktualizować niektóre inne wartości właściwości obiektu.Aktualizowanie Knockout.js Obserwowalna wartość elementu tablicy
var Seat = function(no, booked) {
var self = this;
self.No = ko.observable(no);
self.Booked = ko.observable(!!booked);
// Subscribe to the "Booked" property
self.Booked.subscribe(function() {
alert(self.No());
});
};
var viewModel = {
seats: ko.observableArray([
new Seat(1, false), new Seat(2, true), new Seat(3, true),
new Seat(4, false), new Seat(5, true), new Seat(6, true),
new Seat(7, false), new Seat(8, true), new Seat(9, true)
])
};
Czy ktoś może sugerować podejście aktualizacji modelu widoku? Powiedzmy chcę zaktualizować zarezerwowane wartość "false" na siedzeniu nie 2.
co się dzieje kiedy masz wiele właściwości do ustawienia? jak tutaj mamy tylko seat.Booked, incase z wielu właściwości Chciałbym użyć wtyczki ko.mapper, czy jest jakiś sposób to zrobić? – Tushar
Możesz użyć funkcji nokautu, aby zaktualizować cały element: 'this.seats.replace (seat, newSeat);' – jesal
Potrzebuję więcej informacji na temat generowania zapytania do serwera (domyślam się, że element ma jakiś identyfikator) i jakie dane zwraca usługa (reszta?) – Jorgelig