我有一个带有 ng-repeat 指令的 div,它会遍历一个数组并向我的容器添加一堆 div。当我打电话时.height()
在现在充满 div 的容器上,它返回 0。它似乎返回 ng-repeat 指令执行之前的高度。将 ng-repeat 指令中的所有元素添加到 DOM 后,如何检索高度?
我有以下 HTML、JS 和 CSS 代码:
HTML:
<!DOCTYPE html>
<html ng-app="myApp">
<head>
<link rel="stylesheet" href="style.css">
</head>
<body ng-controller="myController">
<p>Container height: {{containerHeight}}</p>
<div id="container">
<div class="box" ng-repeat="box in boxes">
Box number: {{box}}
</div>
</div>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.18/angular.min.js"></script>
<script src="script.js"></script>
</body>
</html>
JS:
var myApp = angular.module('myApp', []);
myApp.controller('myController', ['$scope', function($scope) {
$scope.boxes =
[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20];
$scope.containerHeight = $('#container').height();
}]);
CSS:
.box
{
width: 200px;
height: 200px;
padding: 10px;
background-color: skyblue;
margin: 5px;
}
You can 在 Plunker 上查看我的问题的演示 http://plnkr.co/edit/A8cdPpjoecaVTkka4IKw?p=preview.