angularjs,ng-repeat和DOM元素大小

时间:2013-03-18 18:33:40

标签: javascript dom angularjs ng-repeat

我有一部分代码,如下:

<div class="wrapper-directive">
   <div class="table" style="display:table">
      <div class="column" style="display:table-cell;" ng-repeat="column in columns">   
        {{column.text}}</div>
      </div>
   </div>

如何从“wrapperDirective”获取重复“列”元素的宽度? 据我所知,我需要像onDomRepeatComplete这样的事件,但此时我还是找不到正确的解决方案和语法,只使用setTimeout暂停......

1 个答案:

答案 0 :(得分:1)

$last可用于确定最后一个&lt; div&gt;的时间正在创建。有关您可以附加到&lt; div&gt;的checkLast指令的实现,请参阅this fiddle(我没有写)。元素:

directive('checkLast', function () {
  return function (scope, element, attrs) {
     if (scope.$last === true) {
        element.ready(function () {
           // determine width here using jQuery or JavaScript
           // If that doesn't work try with $timeout:
           // $timeout(function() { 
           //    ...
           //}, 0, false);  // remove false if you need $apply to run

另见https://stackoverflow.com/a/13906907/215945