【发布时间】:2013-12-05 19:24:46
【问题描述】:
我的角度视图如下所示:
<li ng-repeat="n in range(newsList.length)" ng-class="{active: n == paging}" ng-click="setPage()">
<a href ng-bind="n + 1">1</a>
</li>
现在问题出在newsList,只有在发送$http 请求并收到响应后才设置该范围。像这样:
$http.get('news/listings/' + ($scope.currentPage*$scope.itemsPerPage) + '/' + (($scope.currentPage+1)*$scope.itemsPerPage)).success (response) ->
$scope.newsList = response
真正的问题是,在设置$scope.newsList 之前,视图首先呈现,视图中的变量是undefined。如何告诉视图我要在设置了$scope.newsList 之后才渲染那些li?
顺便说一句,我在创建视图的控制器中调用 $http 请求。
编辑 在我的控制器中,如果我输出 $scope.newsList 值会发生这种情况
$http.get('news/listings/' + ($scope.currentPage*$scope.itemsPerPage) + '/' + (($scope.currentPage+1)*$scope.itemsPerPage)).success (response) ->
$scope.newsList = response
alert $scope.newsList //returns object, which I want
alert $scope.newsList //undefined
再次编辑
解决了我的问题,但提出了另一个问题(连同此问题的解决方案):here
【问题讨论】:
-
简单地显示它们:
ng-show="newsList",可能吗? -
已将我的代码更新为
<li ng-show="newsList" ng-repeat="n in range(newsList.length)" ng-class="{active: n == paging}" ng-click="setPage()"> <a href ng-bind="n + 1">1</a> </li>,但仍然无法正常工作
标签: javascript angularjs coffeescript