0

次のようなコードの一部があります。

<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一時停止だけを使用しています...

4

1 に答える 1

1

$last最後の <div> がいつ作成されるかを判断するために使用できます。<div> 要素にアタッチできるディレクティブの実装については、このフィドル(私は書いていません) を参照してください。checkLast

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も参照してください

于 2013-03-18T18:49:53.587 に答える