Mam problem z dodaniem przedłużacza nokaut do obserwowalnych po ich utworzeniu. W poniższym przykładzie przedłużacz działa na foo
za każdym razem, gdy wartość zmienia się zgodnie z oczekiwaniami, ale tylko raz, po raz pierwszy wywoływana, dla bar
.Stosowanie przedłużaczy typu knockout po mapowaniu
var viewModel = function(){
var self = this;
self.foo = ko.observable(1).extend({ numeric: 1 });
self.bar = ko.observable(1);
self.bar.extend({ numeric: 1 });
};
Zasadniczo jestem mapowania duży obiekt JSON i chciałby dodać przedłużacze po mapowanie doszło do pewnych właściwości. Czy istnieje prosty sposób na zrobienie tego?
Poniżej znajduje się jsfiddle pokazujący problem:
To rozwiązanie nie reaguje na szablon ponownego renderingu dla podsektorów obserwabli. Wypróbuj ten http://knockoutjs.com/documentation/extenders.html Przykład na żywo 2. – hawk
Nie wiem, co masz na myśli. OP i I oparły nasz kod na tym samym 'ko.extenders.numeric' zamieszczonym na tej stronie dokumentacji. Opublikuj nową odpowiedź, jeśli Twoje podejście jest zasadniczo inne niż moje. –
Może coś nieporozumienia, ale to nie działa zgodnie z oczekiwaniami, sprawdź http://jsfiddle.net/BqXed/ – hawk