1

我的 JSON 对象和 observablearray 就像:

self.myComplexsObject= ko.observableArray([{  
    "TupleArray": [{
    "OptInfo": {
        "Version": "B",
        "Name": "csk_profile"
    },
        "Parameter": [{
        "Value": "1",
        "Name":"min SampleCopunt"
    }]
},
             {
    "OptInfo": {
        "Version": "A",
        "Name": "Dml_profile"
    },
        "Parameter": [{
        "Value": "2",
        "Name":"min SampleCopunt"
    }]
}]
}]);

我想访问如下名称和版本:但它不起作用你能帮帮我吗?

<div data-bind='template: { foreach: myComplexsObject,
                            beforeRemove: hideElement,
                            afterAdd: showElement }'>
   <div data-bind="foreach: OptInfo">
      <div data-bind='attr: { "class": "complexObject" + Name,"title":Name}, 
                      text: Version'></div>
   </div>
</div>
4

1 回答 1

0

由于 JSON 的结构,您无法以这种方式访问​​“OptInfo”。您正在将一个对象的数组传递给 observableArray。这是这个对象的结构:

{
"TupleArray":[
 {
    "OptInfo":{
       "Version":"B",
       "Name":"csk_profile"
    },
    "Parameter":[
       {
          "Value":"1",
          "Name":"min SampleCopunt"
       }
    ]
 },
 {
    "OptInfo":{
       "Version":"A",
       "Name":"Dml_profile"
    },
    "Parameter":[
       {
          "Value":"2",
          "Name":"min SampleCopunt"
       }
    ]
 }
]
}

因此,这个成为 for each 循环中的上下文的对象没有“OptInfo”属性。该对象仅包含两个对象的数组(“TupleArray”)。

于 2013-08-02T16:54:58.550 回答