3

我正在做一个$http.get获取 json 数据,然后用它来填充视图,例如

$scope.getIdeas = function() {
  $http.get(ideasUrl)
    .success(function(data) {
      $scope.ideas = data;
      console.log($(".ideas-list").height()); // No height yet =(
    })
};

然后填充视图

<ul ng-cloak class="ideas-list" ng-init="getIdeas()">
  <li class="idea"
    ng-repeat="idea in ideas"
    >{{idea.text}}</li>
</ul>

但是,在success通话中,.ideas-list还没有高度。我在哪里可以获得填充的视图高度?有没有我可以参与的活动?

4

1 回答 1

7

使用setTimeout(或者最好是$timeout服务),以便 Angular 可以在检查高度之前更改 dom:

$scope.getIdeas = function() {
  $http.get(ideasUrl)
    .success(function(data) {
      $scope.ideas = data;
      $timeout(function(){
        console.log($(".ideas-list").height());
      });
  })
};
于 2013-05-30T14:37:45.267 回答