KnockoutJs发布渲染子循环的子节点

时间:2014-03-14 23:57:53

标签: javascript json knockout.js

我有一个显然是"你好世界"解析一个对象数组(本身就是一个子对象)的问题。我正在使用ko.mappings功能,因为这显然是将JSON结构解析为可观察数组的方法。但我的内部子循环内部并没有正确地迭代孩子。如果我转储集合,它有正确的对象,但只会创建一个列表项。即。

//viewmodel.js
//get my json as a view model
that.vpc_instances = mapping.fromJSON(response.data);

//view.html
<ul data-bind="foreach: vpc_instances"  class="list-group">
 .....
 Tags
 <ul data-bind"foreach: _tags">
     //I get one element with the list of objects
     // was hoping I could do "data-bind='text: _tags[$index].Name'" etc, but only 1 li is generated
     <li data-bind="text: _tags" />
</ul>

产生

Tags
 [object Object],[object Object],[object Object],[object Object],[object Object]

我不明白为什么循环只执行一次,因为它知道它有五个孩子。我的数据看起来像这样......

enter image description here

1 个答案:

答案 0 :(得分:0)

<ul data-bind"foreach: _tags">

这需要a = data-bind

之后

一旦你进入_tags的foreach,你就不再需要引用_tags了,因为上下文就是每个标签。使用类似的东西:

<li data-bind="text: Name" />