以单向绑定ng-repeat的方式重新呈现数据

时间:2015-04-23 16:00:17

标签: javascript css html5

我在var Data_A = []; var Data_B = []; Data_A[ 2500 ] = 98; Data_A[ 2501 ] = 95; Data_A[ 2502 ] = 98; Data_A[ 2503 ] = 98; Data_A[ 2504 ] = 92; Data_A[ 2505 ] = 98; Data_A[ 2506 ] = 95; Data_A[ 2507 ] = 98; Data_A[ 2508 ] = 98; Data_A[ 2509 ] = 92; Data_B[ 2500 ] = 20; Data_B[ 2501 ] = 30; Data_B[ 2502 ] = 55; Data_B[ 2503 ] = 66; Data_B[ 2504 ] = 02; Data_B[ 2505 ] = 20; Data_B[ 2506 ] = 11; Data_B[ 2507 ] = 26; Data_B[ 2508 ] = 8; Data_B[ 2509 ] = 96; $(function () { setInterval(function(){ Data_A[ 2500 ] = Data_A[ 2500 ] + 1; },1000); chart = $('#container').highcharts({ xAxis: { categories: [] }, tooltip: { shared: true, useHTML: true, formatter: function() { HTML = ""; HTML = HTML + "<table>"; HTML = HTML + "<tr><td>Pressure A:</td><td>" + Data_A[this.x] + "</td></tr>"; HTML = HTML + "<tr><td>Other data:</td><td>" + Data_B[this.x] + "</td></tr>"; HTML = HTML + "</table>"; return HTML; } }, series: [{ name: 'Compressebility', data: [ { x: 2500, y: Data_A[2500], }, { x: 2501, y: Data_A[2501], }, { x: 2502, y: Data_A[2502], }, { x: 2503, y: Data_A[2503], }, { x: 2504, y: Data_A[2504], }, { x: 2505, y: Data_A[2505], }, { x: 2506, y: Data_A[2506], }, { x: 2507, y: Data_A[2507], } ] }] }); }); 中使用单向绑定。我还想在数组值更改时刷新ng-repeat

请提出您的想法:

示例:

ng-repeat

可以在 Plnkr

找到代码

1 个答案:

答案 0 :(得分:2)

使用“::”语法用于一次性绑定,不应与单向绑定混淆。就其本质而言,ng-repeat是一种方式。也就是说,添加dom元素不会神奇地将数据项添加到模型中。一次性绑定的目的是通过明确声明用于渲染的数据不会改变(或者如果确实如此,我们不关心)来提高角度摘要周期的性能。

话虽如此,您可以从::中删除{{::de}},以消除检查每个项目的更改的开销。如果data变得非常大,这将避免性能下降。