а в чем корень зла?
Если id будет меняться, можно так:
app
.run(function( $rootScope ) {
$rootScope.$watch( 'global.userId', function( a, b ) {
if ( angular.equals( a, b ) ) return;
$rootScope.emit( 'my:event', a );
});
})
.controller('myCtrl', ['$rootScope', 'Comments', function ( $rootScope, com, $scope ) {
var controller = $scope.controller = {
method: function( id ) {
alert( id );
}
};
$rootScope.$on( 'my:event', function( event, id ) {
controller.method( id );
});
}])
если нет, можно с $q.