Json 带有嵌套foreach循环的knockout.js

Json 带有嵌套foreach循环的knockout.js,json,foreach,knockout.js,Json,Foreach,Knockout.js,我正在使用knockout.js2.0,当我执行嵌套的foreach循环时,性能非常慢。主循环有大约70条被返回的记录,而这70条json记录中的数组包含0-20项。所以我觉得这不是很多json数据 我只是使用以下代码进行测试: <table> <tbody data-bind="foreach: Employees, visible: Employees().length > 0"> <tr>

我正在使用knockout.js2.0,当我执行嵌套的foreach循环时,性能非常慢。主循环有大约70条被返回的记录,而这70条json记录中的数组包含0-20项。所以我觉得这不是很多json数据

我只是使用以下代码进行测试:

    <table>
        <tbody data-bind="foreach: Employees, visible: Employees().length > 0">  
            <tr>                
                <td class="centerdata" data-bind="text: ID"></td>
                <td class="centerdata" data-bind="text: Name"></td>
                <td>
                   <table>
                       <tbody data-bind="foreach: $data.Transactions">  
                           <tr>   
                              <td data-bind="text:TransDate"></td>
                           </tr>
                       </tbody>
                   </table>
                </td>
            </tr>                    
        </tbody>
   </table>

加载页面大约需要20秒。json中还有其他字段,但为了简单起见,我删除了它们

谢谢,
马特

马修,我想这里肯定还有别的事

我很快就搞定了,使用你的标记和一些虚拟数据,这些数据的大小与你提到的相似,在Chrome中的性能是~1秒


是否存在重复计算的相关可观测值?如果是这样,请查看油门功能(http://knockoutjs.com/documentation/throttle-extender.html)

查看此线程:并尝试使用github的最新KO版本测试您的应用程序:。您应该会看到一些不错的改进,这些改进将包含在KO2.1中。我们尝试使用最新的knockout和name模板化两个foreach循环,但性能仍然相同。