Knockoutには、いくつかのJSONオブジェクトを含むobservableArrayがあります。各JSONオブジェクトの下には、監視可能である必要があるネストされた配列があります。
Knockoutは、observableArray内の各JSONオブジェクトにネストされた配列を監視できません。
observableArrayにすでにネストされている配列をマップすることは可能ですか?
これは、observableArray内の1つのJSONオブジェクトの例です。
注:「attributeValues」配列を監視可能にする必要があります。
{
"attribute": {
"id": 6,
"name": "Some attribute name",
"typeID": 5
},
"type": {
"id": 5,
"typeName": "list"
},
"attributeValues": [{
"id": 10,
"attributeID": 6,
"value": "Some attribute value",
"chosen": false
}, {
"id": 11,
"attributeID": 6,
"value": "Another attribute value",
"chosen": false
}, {
"id": 12,
"attributeID": 6,
"value": "Third attribute value",
"chosen": false
}]
}
現在使用しているコードは次のとおりです。
$.ajax({
type: 'GET',
url: '/JsonService',
success: function (data) {
avm.attributes(data.allAttributes);
},
dataType: 'json',
traditional: true
});
function attributeViewModel() {
var self = this;
self.attributes = ko.observableArray([]);
}
var avm = new attributeViewModel();
ko.applyBindings(avm);