是否正常,angularjs ng-repeat需要1.5秒才能从rest api渲染数据?结果只包含10行,总共1KB的数据。如何提高速度或在哪里寻找问题?
添加信息:
如果我直接在浏览器上运行,其余请求本身只需要128毫秒。
这是您从其余api获得的一组示例数据:
{
"result": [
{
"id": 1224,
"name": "Schokolade-Vanille",
"kcal": 35500,
"displayName": "Schokolade-Vanille"
},
{
"id": 23423,
"name": "Naturreis Uncle Bens",
"kcal": 34400,
"displayName": "Naturreis Uncle Bens"
},
{
"id": 123231,
"name": "Paprikahendl",
"kcal": 4100,
"displayName": "Paprikahendl"
},
{
"id": 434,
"name": "Vanille Kugeln",
"kcal": 53700,
"displayName": "Vanille Kugeln"
},
{
"id": 323423,
"name": "Weihnachtstraum, Lindor-Kugeln",
"kcal": 60800,
"displayName": "Lindor-Kugeln"
},
{
"id": 5435,
"name": "Schokolade",
"kcal": 4300,
"displayName": "Schokolade"
},
{
"id": 23213,
"name": "Hühner-Nuggets",
"kcal": 23400,
"displayName": "Hühner-Nuggets"
},
{
"id": 5534,
"name": "Knödel, Kartoffel",
"kcal": 1230,
"displayName": "Knödel, Kartoffel"
},
{
"id": 23233,
"name": "Curvers",
"kcal": 15400,
"displayName": "Curvers"
},
{
"id": 53434,
"name": "Frites Original",
"kcal": 14100,
"displayName": "Frites Original"
}
],
"count": 12854
}
新添加的信息
我现在仔细观察并发现,不是重复的问题就是问题。
我使用了以下代码:
$scope.updateResultset = function() {
$scope.result = Food.query({
offset: $scope.offset,
order_by: $scope.orderby,
name: $scope.textfilter,
},function(){
console.log( "response " + (new Date().getTime() - start) );
});
$scope.offset = undefined;
console.log( "updateResultset " + (new Date().getTime() - start) );start = new Date().getTime();
得到以下回复: 回应435
但请求本身只需要131毫秒。在我看来,> 300毫秒是浪费在一个方法上的大量时间?
与我以前的版本相比,我展示了一个计划html列表,它被jquery ajax响应html取代,它的速度要慢得多吗?
答案 0 :(得分:0)
正如其他人在评论中指出的那样,除了ng-repeat之外,代码中的原因可能是其他原因。但是,如果速度仍然是ng-repeat的一个问题,还有其他选择:
答案 1 :(得分:0)
好的,我发现了问题。不是重复10个列表项是问题!正如您在我的问题中所看到的,我不仅返回了10个结果,还返回了结果总数。就我而言,它是“计数”:12854'。
在同一页面上,我有一个分页,这是减慢整个页面的部分,因为它必须渲染1286个寻呼机按钮(~12854 / 10)。现在我只显示10个寻呼机按钮。