The right place to place angular modal
This depends on how the rest of your app feels about the function you're publishing and how modular you want your app to be. If you want absolute modularity, you'll put the functionality in a service and inject &amp; publish it anywhere you want to use it. The same goes for functionality that is reused just in some very specific areas, not really by the whole application.

Sharing functionality using scope hierarchy (especially by putting it on the outer-most scope) is just a way to simplify your code by sacrificing transparency (of dependencies), so in the end, it's up to you to evaluate whether the gain is worth the price in your particular situation.