0

我正在尝试在我的ng-repeat模板中实现分页,并且我正在使用我在如何在 AngularJS 中进行分页?,即这个:http: //jsfiddle.net/dalcib/J3fjc/

我的代码与这个 jsfiddle 示例中的代码几乎相同,除了不使用硬编码值,我使用注入服务从返回 json 的 url 获取数据。

我遇到的问题是 jsfiddle 代码中集合的长度始终为零,我不知道为什么,因为我是新手。这是相关代码:

...
collection = scope.$eval(rhs),
count = collection.length;

count始终为零。看起来代码是在收到服务响应之前执行的。

谁能帮忙?

4

2 回答 2

1

你不需要使用 $eval()。
$eval 就是取一个字符串,获取这个名字的对象。
您可以做的只是将您在服务或资源中获得的 json 对象关联到范围变量。
在 ng-repeat 你使用他的范围变量。

function gridCtrl($scope, sameResource) {
      sameResource.query( function (todos) {
             $scope.todos = todos;
       }
}

在视图中

<div ng-repeat="todo in todos"> ...
于 2012-10-19T16:16:42.490 回答
0

在我看来,您正在寻找 $index。

例如:

<html ng-app>
  <head></head>
  <body ng-init="poops = ['fat tony','the turdis','hershey squirts']">
    <div ng-repeat="poo in poops">{{ poo + "/" + $index}}</div>
  </body>
</html>

输出:

fat tony/0
the turdis/1
hershey squirts/2
于 2014-06-02T01:40:24.107 回答