Knockoutjs-пустой json


Я нахожусь в процессе изучения нокаута, и в моей маленькой выборке я не могу получить результаты json. Может кто-нибудь сказать мне, что я упускаю?

ko.utils.stringifyJson(self.divisions)

Спасибо

Нажмите здесь, чтобы просмотреть исходный код на jsfiddle

1 2

1 ответ:

ko.utils.stringifyJson не является рекурсивным, поэтому он только разворачивает наблюдаемые объекты первого уровня и не будет разворачивать сложный объект.

Таким образом, он не будет разворачивать ваши Division свойства объекта (например, age) в вашей коллекции.

Однако ko mapping plugin имеет рекурсивные версии:

Вы можете преобразовать наблюдаемый объект в простой объект JavaScript с помощью ko.toJS , а затем вызвать ko.utils.stringifyJson:

ko.utils.stringifyJson(ko.toJS(self.divisions)

Или вы можете преобразовать viewmodel в JSON за один шаг с помощью ko.toJSON метод

ko.toJSON(self.divisions)

СмотритеДемо .