2013-08-28 44 views
1

所以我相当新的角度和我想要做的是采取从RESTful调用获得的JSON集合,并通过每个循环来显示它们的值,同时关联它在href中的指定ID。ng-repeat无法正确执行angularjs

下面你会发现什么,我曾尝试:

<div class="span2"> 
     <!--Sidebar content--> 

     Search: <input ng-model="query"> 
     Sort by: 
     <select ng-model="orderProp"> 
      <option value="name">Alphabetical</option> 
      <!--option value="age">Newest</option> 
      <option value="-age">Oldest</option--> 
     </select> 

    </div> 
    <div class="span10"> 
     <!--Body content--> 
     <ul class="documents"> 
      <li ng-repeat="document in documents | orderBy:orderProp" class="thumbnail"> 
       <a href="#/rest/{{document.document_id}}">{{document.title}}</a> 
      </li> 
     </ul> 
     <pre>{{ documents | json }}</pre> 
    </div> 

的S-HTTP调用:

function DocListCtrl($scope, $http) 
{ 
    console.log('getting documents data'); 
    $http.get('/*RESTful call here*/').success(function(data) 
    { 
     $scope.documents = data; 
    }); 
    $scope.orderProp = 'name'; 
} 

当我运行的页面让我的名单使用

<pre>{{ documents | json }}</pre> 
没问题

但ng-repeat无法执行。

编辑

这里是我正在使用的Json的一个例子。

{ 
    "next": {}, 
    "items": [ 
    { 
     "document_id": 3177554002, 
     "title": "title of some item" 
    } 
] 
} 

究竟是我正在做错误的ng-repeat调用,没有按我希望的方式列出我的数据?

感谢您的帮助

+1

你的JSON响应是什么样的? –

+0

你看到了什么错误? – zsong

+0

@MikeRobinson Json已添加 – James213

回答

1

根据你的JSON,我看到你的ng-repeat不是很正确。您需要引用items阵列内的文件迭代时,像这样的对象:

<ul class="documents"> 
    <li ng-repeat="document in documents.items | orderBy:orderProp" class="thumbnail"> 
     <a href="#/rest/{{document.document_id}}">{{document.title}}</a> 
    </li> 
</ul> 

或者,如果你想更简单,绑定data.itemsdocuments,而不是仅仅data并保留现有的模板。这也将确保您的orderBy继续工作。

+0

我刚刚在5分钟前意识到这个问题,并且正在寻找答案。谢谢! – James213