我正在尝试检测元素的高度,该元素将根据数据库中的数据而发生变化。
我以前成功使用过.outerHeight但是不能对包含ng-repeat数据的元素执行此操作。
一旦数据填充了角度元素,还是有其他方法可以检测到这个吗?
答案 0 :(得分:2)
是的,您需要创建一个属性指令并将其放在ng-repeat上。
<div ng-repeat="whatever in items" outer-height></div>
该指令将具有链接函数,该函数在编译后发生。
app.directive('outerHeight', function(){
return{
restrict:'A',
link: function(scope, element){
//using outerHeight() assumes you have jQuery
//use Asok's method in comments if not using jQuery
console.log(element.outerHeight());
}
};
});
这是一个Plnkr,它会将outerHeight记录到控制台:http://plnkr.co/edit/AdGpnzJilW2179Ybuurk?p=preview
注意如果数据发生变化,您需要使用$watch
并获得新的高度。