如何通过angularjs填充元素的高度?

时间:2013-05-30 14:29:26

标签: javascript jquery http angularjs

我正在使用$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还没有高度。我在哪里可以获得填充的视图高度?我可以参加一个活动吗?

1 个答案:

答案 0 :(得分:7)

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

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