Data binding 使用大量值和getter方法进行数据绑定?
通过阅读下面关于数据绑定的优秀答案:,我想知道在幕后进行污垢检查的角度有多大,因为: 我正在创建一个应用程序,它将大量汽车对象打印到DOM中,每辆汽车的外观如下:Data binding 使用大量值和getter方法进行数据绑定?,data-binding,angularjs,Data Binding,Angularjs,通过阅读下面关于数据绑定的优秀答案:,我想知道在幕后进行污垢检查的角度有多大,因为: 我正在创建一个应用程序,它将大量汽车对象打印到DOM中,每辆汽车的外观如下: var Car = function(settings) { this.name = settings.name; + many more properties... } Car.prototype = { calcPrice: function() { ... }, + many more metho
var Car = function(settings) {
this.name = settings.name;
+ many more properties...
}
Car.prototype = {
calcPrice: function() { ... },
+ many more methods...
}
$scope.cars = [lots of Cars];
上面的链接答案提到,当在DOM中打印时,通过数据绑定可以提供大约2000个值的限制,并且由于每个Car对象上都有大量属性,在这个应用程序中,当循环通过cars数组时,很容易超过这个数
假设您通过数据绑定在DOM中打印了2000多个值,并且其中一个值进行了更新,那么2000个值的存在是否会影响Angular的污垢检查性能,或者Angular是否以某种方式标记了更改的值,因此它仅在运行其$digest()时查看更改的值?换句话说,当只有很少一部分数据可能在初始打印后更新时,拥有大量数据绑定值是否重要
如果有关系的话,由于大多数值都是只读的,那么有没有办法使用数据绑定语法{{car.prop}}将值获取到DOM一次,然后告诉Angular不要再绑定到它们
将getter方法添加到Car对象并提供类似于{{Car.getProp()}}这样的属性会有什么不同吗?我在处理一个应用程序时遇到了同样的问题。拥有一个庞大的数据集不是问题,问题来自绑定,特别是ng重复。 解决方案的一部分是使用这个漂亮的库删除带有“静态”绑定的“动态”绑定: