gpt4 book ai didi

javascript - AngularJS 和效率(或 : storing values for multiple uses)

转载 作者:行者123 更新时间:2023-12-03 10:34:50 27 4
gpt4 key购买 nike

我最近开始学习一些 AngularJS(之前几乎没有编程经验)。我想创建一个统计分析工具,为此我研究了一些“概念验证”示例。

像这个:http://jsfiddle.net/nitecorp/udcjnoxo/

它有效,但我感觉我使用这些功能的方式效率非常低:

<tr>
<td>Average Age</td>
<td>{{getAverage()}}</td>
</tr>
<tr>
<td>Younger</td>
<td>{{getStats(getAges())['younger']}}</td>
</tr>
<tr>
<td>Older</td>
<td>{{getStats(getAges())['older']}}</td>
</tr>

问题存储 getAges 并使用结果而不是每次都重新计算的正确方法是什么? getStats 也是如此:我可以只存储值而不是重新计算两次(在示例中)吗?

注意:在这个例子中并不是什么大问题,但我需要将该代码应用到更复杂的场景,具有更复杂的统计数据(标准差、方差等)并使用超过 1M 的值...

谢谢

最佳答案

使用 $watch 监听数据结构的更新,然后相应地更新变量。

我创建了一个 fork of your fiddle为了说明这一点,下面的代码演示了重要的部分:

$scope.$watch(
function(scope) {
return $scope.dogs.length;
},
function(oldVal, newVal) {
console.log('dogs changed');
$scope.updateStats($scope.getAges());
$scope.updateAverage();
});

关于javascript - AngularJS 和效率(或 : storing values for multiple uses),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29047085/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com