I believe this is expected behavior because using scope attributes (`scope: { closeText: '@' , .. }`) just adds watchers (with $observe) to the attributes. The watchers initial run is done asynchronously (similar to evalAsync, I think), so they have run yet at this point.

I don't know if there's an issue on this and I'm about to head to sleep so I won't be able to dig it out for you heh.