KnockoutJS来自二维数组的foreach循环

时间:2012-03-05 10:29:02

标签: arrays foreach mapping knockout.js

我有一个JSON字符串,从我试图使用KnockoutJS绑定到foreach循环的服务器返回

返回的JSON如下所示:

    [{"FileID":19,
"ParentID":6,
"SubType":"Page",
"FileName":"nav_secondary_bg.png",
"FileExtension":null,"Filetype":"20",
"FileMethod":null,"FileGroupName":null,
"FileLocation":"/uploads/Page/resized/nav_secondary_bg.png_thumb",
"FilenameOriginal":"nav_secondary_bg.png",
"AltTag":null,
"DateUploaded":"\/Date(-62135596800000+0000)\/",
"OrigFilesize":0,
"OrigFile":null,
"SiteID":0,
"Display":"y",
"FileDefault":false},
{... Next Item...}]

和我的HTML代码:

<div id="itemImages" >
     <ul data-bind="foreach: Image">       
        <li>        
        <span data-bind="value: FileName"></span>
        </li>        
        </ul>
    </div>     
</div>

我已经尝试过关注教程(http://learn.knockoutjs.com/#/?tutorial=loadingsaving)上的示例,但它无法使映射插件正确映射数据并使forloop正常工作。

更新

使用johns示例,我现在将数据绑定到UI,但是在收到新数据后很难更新绑定。

1 个答案:

答案 0 :(得分:0)

这是一个可以与你比较的工作小提琴:

http://jsfiddle.net/jearles/y4b9e/

确保对范围使用text绑定,而不是值绑定。 value绑定用于绑定属性以形成元素(input,select,...),而文本绑定将设置关联DOM元素的innerText或textContext(p,span,...)< / p>