2013-08-02 132 views
1

我的JSON对象和observablarray像:嵌套foreach与淘汰赛绑定?

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> 

回答

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" 
     } 
    ] 
} 
] 
} 

所以,这个对象,成为上下文在每个循环中没有一个“OptInfo”属性。该对象只包含两个对象(“TupleArray”)的数组。

+0

那么我该怎么做? – ale