Jquery 当内部循环数组有多个字段时嵌套的foreach循环

Jquery 当内部循环数组有多个字段时嵌套的foreach循环,jquery,html,knockout.js,Jquery,Html,Knockout.js,如果子数组还有两个字段,下面示例中的视图和viewmodel将进行哪些更改 “儿童年龄”和“体重” 视图: 通过将子数组设置为对象数组而不是字符串数组,可以向子数组添加其他属性,如下所示: new Person("Annabelle", [ {Name: "Arnie", weight: 25, age: 2}, {Name: "Anders", weight: 45, age: 5}, {Name: "Apple", weight: 29, age: 2}]) h

如果子数组还有两个字段,下面示例中的视图和viewmodel将进行哪些更改 “儿童年龄”和“体重”

视图:


通过将子数组设置为对象数组而不是字符串数组,可以向子数组添加其他属性,如下所示:

new Person("Annabelle", [
    {Name: "Arnie", weight: 25, age: 2}, 
    {Name: "Anders", weight: 45, age: 5}, 
    {Name: "Apple", weight: 29, age: 2}])
html的变化如下:

<span data-bind="text: $data.Name"></span>    
<ul>
    <li data-bind="text: $data.weight +'lbs. '"/>
    <li data-bind="text: $data.age + ' years'"/>
</ul>


用一个有效的解决方案来检查这个问题。

显然,子对象需要是对象。如果您希望它也包含这些属性,则可以潜在地重用
Person

[{name:"Arnie", age: 1, weight: 2}]
然后绑定到属性:

<span data-bind="text: name"> </span> 
<span data-bind="text: age"> </span> 
<span data-bind="text: weight"> </span> 
子属性的绑定将采用以下格式

<span data-bind="text: child.name"> </span> 

请参阅以供参考

<span data-bind="text: name"> </span> 
<span data-bind="text: age"> </span> 
<span data-bind="text: weight"> </span> 
<ul data-bind="foreach: {data: children, as 'child'}">
<span data-bind="text: child.name"> </span>