¿Cómo puedo ejecutar una directiva después de que el dom haya terminado de renderizar?

Tengo un problema aparentemente simple sin aparente(Leyendo los documentos de Angular JS) solución.

Tengo una directiva Angular JS que hace algunos cálculos basados ​​en la altura de otros elementos DOM para definir la altura de un contenedor en el DOM.

Algo similar está sucediendo dentro de la directiva:

return function(scope, element, attrs) {
    $('.main').height( $('.site-header').height() -  $('.site-footer').height() );
}

El problema es que cuando se ejecuta la directiva,$('site-header') no se puede encontrar, devolviendo una matriz vacía en lugar del elemento DOM envuelto jQuery que necesito.

¿Hay una devolución de llamada que pueda usar dentro de mi directiva que solo se ejecute después de cargar el DOM y puedo acceder a otros elementos del DOM a través de las consultas de estilo del selector jQuery normal?

Respuestas a la pregunta(6)

Su respuesta a la pregunta