gpt4 book ai didi

javascript - AngularJS - 提高服务调用和数据绑定(bind)性能

转载 作者:行者123 更新时间:2023-11-30 05:32:57 25 4
gpt4 key购买 nike

我有一个 Angular 服务可以检索一个相当大的 JSON 文件(将近 10,000 行)。

我面临的问题是,将数据绑定(bind)到前端需要一些时间(如预期的那样)。

示例 Controller :

$scope.dataLoaded = false;

serviceReport.getData( function (data) {
$scope.data1 = data.data1;
$scope.data2 = data.data2;
$scope.data3 = data.data3;
$scope.data4 = data.data4;
$scope.data5 = data.data5;
$scope.data6 = data.data6;
$scope.data7 = data.data7;
$scope.data8 = data.data8;
$scope.data9 = data.data9;
$scope.data10 = data.data10;
$scope.data11 = data.data11;
$scope.data12 = data.data12;
$scope.data13 = data.data13;
$scope.data14 = data.data14;
$scope.data15 = data.data15;
$scope.data16 = data.data16;
$scope.data17 = data.data17;

$scope.dataLoaded = true;
});

服务:

app.factory('serviceReport', function($http) {
return {
getData: function(value,done) {
$http.get('data.json', {
})
.success(function(data) {
done(data);
})
.error(function(error) {
alert('An error occured');
});
}
}
});

我的 HTML 元素上有 ng-cloak,当 dataLoaded = true 时,它​​被删除,因为它表明数据可以显示。

如何改进服务调用/数据绑定(bind)?分开通话会有帮助吗?

最佳答案

服务器端解决方案是减小响应的大小,并以较小的响应发出更多请求。你真的需要一开始就得到完整的回应吗?您必须意识到,绑定(bind)整个响应会产生许多观察者,这会减慢所有后续摘要。

客户端解决方案是将响应部分绑定(bind)在循环中作为 $scope.$apply() 甚至 $timeout() 的回调参数。

关于javascript - AngularJS - 提高服务调用和数据绑定(bind)性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25746036/

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