我的JSON对象和observablarray像:
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>
最佳答案
由于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”)。
关于javascript - 嵌套有 knockout 绑定(bind)的foreach?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18019558/