Directive works with ng-if, ng-include, $scope change and ui-views
When parent dom elements are simply set to hidden by css only the container itself will be there and then only triggered when triggering window scroll or resize.
So the directive is not working if we apply hidden class on parent container and toggle it. So ng-show will not work as well since this sets styling simply to ng-hide
Directive is not working if we apply hidden class on parent container and toggle it. It will then only do recalculation when triggered (scrolling/resize event).