我使用$ timeout定期从后端拉取表格数据并以HTML格式显示。我怀疑每次获得更新时,都会在浏览器中为JSON数组分配一个新的内存段。我想知道是不是这样。下面是简化的代码片段。
HTML `
<tr ng-repeat="measurement in measurementResults">
<td>{{measurement.type}}</td>
<td>{{measurement.value}}</td>
</tr>
JS
function startTimeout() {
MeasurementService.getNewMeasurements(function (measuredData) {
$scope.measurementResults = measuredData;
});
$timeout(startTimeout, 15000);
}
startTimeout();
这是我传递给$ scope的JSON数据数组格式。
[{"type":type1,"value":10}, {"type":type2,"value":20}, {"type":type3,"value":80}]
每次从服务回调中收到measuredData时,$ scope.measurementResults是否指向新的内存位置(或创建新数组)?
修改 我附加了两个内存图的截图,第一个显示了节点如何上下(绿线),第二个显示了应用“跟踪$ index”后线条变平的方式
答案 0 :(得分:0)
//You may use track by for performance boost
<tr ng-repeat="measurement in measurementResults track by $index">
<td>{{measurement.type}}</td>
<td>{{measurement.value}}</td>
</tr>