JSON 个对象数组,以淘汰具有可观察属性的可观察数组
Array of JSON Objects to Knockout Observable Array With Observable Properties
我的应用有一个 ajax 调用,它将 return 一个 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
}
我的应用有一个 ajax 调用,它将 return 一个 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
}