2015-02-24 84 views
0

我有許多複雜的章節和htmls與許多ng重複。 我想在所有東西都插入到dom中時打印窗口。 如何做到這一點?超時不是一個好的選擇.. 事件,如ngContentLoaded和ngViewContentLoaded不工作。 問候上迭代元件的局部範圍相應地如果它們是第一,迭代對象的中間或最後一個元素如何以角度打印窗口?

+0

這聽起來像一個X/Y的問題。你爲什麼需要這樣做?爲什麼不使用開發工具來衡量一切? – m59 2015-02-24 07:13:29

+0

你可以建立你自己的'$ event',如果所有東西都被加載了,就會觸發它。 – DonJuwe 2015-02-24 07:45:22

回答

0

ngRepeat指令集領域,如$first$middle$last(等等)。您可以使用ng-repeat在元素上添加一個自定義指令,它將檢查是否有$last屬性附加到範圍,如果是,則表示ngRepeat已完成。然後你可以打印窗口。

這個指令可以是這樣的:

app.directive('logOnRepeatReady', [ 
    '$window', 
    function ($window) { 
     var link = function (scope) { 
      if (scope.$last) { 
       console.log($window); 
      } 
     }; 

     /* make sure the directive has lower priority than*/  
     /* ng-repeat so it executes after ng-repeat*/ 

     return { 
      link: link, 
      priority: 0 
     }; 
    } 
]); 

而且使用這樣的:

<ul> 
    <li log-on-repeat-ready ng-repeat="item in items">{{ item }}</li> 
</ul>