我一直在使用Angular一段时间,并注意到当一组对象已经加载到内存中时,有多种方法可以获取单个对象。
对于这些情况,我已将对象列表加载到$rootScope
中,因此我最小化了对{db}的$http
次调用。
例如,我这样做了:
<div ng-repeat="task in filteredTasks = (tasks | filter:{id: routeParams.taskId} | limitTo: 10 | filter:{title: tasks.search_tasks}">
<div">{{ task.title }}</div>
</div
或者它可能发生在控制器中:
.controller('TasksCtrl', function ($scope, $rootScope, $routeParams) {
...
for (i=0;i<$rootScope.tasks.length;i++) {
if ($rootScope.tasks[i].id == $routeParams.taskId) $scope.task = $rootScope.tasks[i];
};
...
});
我的问题是,在性能方面是否存在首选方法(或标准实践等其他指标),因为我猜任何方法都会涉及在某个时刻迭代任务数组。