Detect outerHeight() of element with ng-repeat

北战南征 提交于 2019-12-11 01:59:07

问题


I'm trying to detect the height of an element that will change depending on data from a database.

I have used .outerHeight successfully before but can't do this on an element that contains data from a ng-repeat.

Is there a way to do this once the data has populated the angular element or is there another method of detecting this?


回答1:


Yes, you need to create an attribute directive and put it on the ng-repeat.

<div ng-repeat="whatever in items" outer-height></div>

The directive will have a link function which happens after it has compiled.

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()); 
    }
  };
});

Here's a Plnkr which will log the outerHeight to console: http://plnkr.co/edit/AdGpnzJilW2179Ybuurk?p=preview

Note You will need to use a $watch and get a new height if data changes.



来源:https://stackoverflow.com/questions/21887043/detect-outerheight-of-element-with-ng-repeat

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!