Question: I have a ng-repeat directive which displays a list of links. It works fine, but my code also has a javascript function which places the list depending on its dimensions. Naturally, the dimension of the list is not known until Angular is done databinding and modifying the DOM. If I call the function immediately after data change, then the placement calculation jumps the gun and places the list as if it's empty. I want to fire the function once Angular is done modifying the DOM. How can I do that?

**EDIT:**

Just tried ngcloak as a possible solution, unfortunately it does not work. Reading ngcloak's documentation, my problem is not that the list flickers, but it is placed as if it's empty, and then stays there. I need a way to call my function once the databinding is complete.

Answer: 
When the data change occurs, use $timeout service to call the modifier after a delay. If timeout is not reliable enough because you can't guess the time correctly, you could write a recursive function that calls itself after a short timeout like 100ms to check if angular is in digest or apply phase. If it is not in digest or apply phase, then you can call the placement modifier.
I think [ngCloak](http://docs.angularjs.org/api/ng.directive%3angCloak) is what you are looking for.