uzyskać następujące dane z serwera:KO Mapowanie problem z dzieckiem obiektów
var data = [{ id: 0, child: { prop1 : 'a', prop2 : 'b' } } //Child object has data
,{ id: 0, child: null } ]; // Child object is null
Mam pewne problemy po mapować dane używając wtyczki mapowania nokaut. Problem polega na tym, że wewnętrzny obiekt nie jest tego samego typu.
Po wykonaniu tego:
ko.mapping.fromJS(data, viewModel.data);
otrzymuję, że pierwszy obiekt ma child
właściwość typu Object
z danymi. Jednak drugi obiekt ma właściwość child
typu Observable
, która po rozpakowaniu zwraca wartość null.
Jak mogę to zrobić w obu przypadkach obiekty mają ten sam typ, nawet jeśli ma wartość, a drugi ma wartość zerową. Zmiana sposobu działania serwera nie jest opcją. Oczekuję, że będę miał Object
i null
lub oba Observables
.
JsFiddle here.
zawsze przetestuj opcje options.data dla wartości pustej, a następnie zwróć puste ko.observable() –