Obteniendo el objeto $ scope en el método run () de Angular

Me gustaría hacer algunas cosas cuando se cargue mi aplicación para configurar el estado predeterminado. Así que estoy tratando de usar el método de ejecución en el objeto Módulo. Cuando intento acceder a la variable $ scope, aparece un mensaje "Error de referencia no capturado: $ no está definido" en mi consola.

Vea el siguiente ejemplohttp://jsfiddle.net/F2Z2X/1/

app = angular.module('myapp', []);

app.controller('mycontroller', function($scope){
    $scope.data = { myvariable: 'Hello' };
});

app.run(
    alert($scope.data.myvariable))
);

¿Estoy yendo todo esto mal?

Por ejemplo, quiero ejecutar la función watchAction una vez al principio, para ocultar los elementos de la IU que aún no se han solicitado, pero la función watchAction no tiene el objeto $ scope porque el método watch no lo llama, por lo que Tengo que pasárselo, pero desgraciadamente no está disponible.

Respuestas a la pregunta(2)

Su respuesta a la pregunta