【问题标题】:nested foreach with knockout binding?带有淘汰赛绑定的嵌套foreach?
【发布时间】:2013-08-02 14:34:00
【问题描述】:

我的 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>

【问题讨论】:

    标签: javascript data-binding knockout.js foreach nested


    【解决方案1】:

    由于 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”)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-15
      • 1970-01-01
      • 2014-02-27
      • 2014-12-11
      • 2011-08-11
      • 2013-04-20
      • 1970-01-01
      • 2013-03-14
      相关资源
      最近更新 更多