一个JSON对象数组,用可观察属性击倒可观察对象数组

Array of JSON Objects to Knockout Observable Array With Observable Properties

本文关键字:观察 数组 对象 属性 JSON 一个      更新时间:2023-09-26

我的应用程序有一个ajax调用,它将返回一个JSON对象数组。

[
{"ID":2,"Name":"Name 1","CreatedOn":"/Date(1432892160000)/"},
{"ID":7,"Name":"Name 2","CreatedOn":"/Date(1432892160000)/"},
{"ID":8,"Name":"Name 3","CreatedOn":"/Date(1432892160000)/"},
{"ID":9,"Name":"Name 4","CreatedOn":"/Date(1432892160000)/"},
{"ID":10,"Name":"Name 5","CreatedOn":"/Date(1432854000000)/"}
]

我需要将这些赋值给一个可观察数组,其中对象属性也是可观察的。

我可以毫无问题地创建可观察数组。

viewModel.newArray= ko.observableArray([]);
viewModel.newArray(result.ReturnedObjects);

然而,我不知道如何推到可观察数组,使每个对象的属性可观察

使用Knockout Mapping Plugin。像这样的代码应该可以工作

function vm(result){
  var self = this;
  self.items = ko.observableArray();
  ko.mapping.fromJS(result.ReturnedObjects,{},self.items)
  console.log(self.items()); //array with each object props as observables
}