$scope en Angular siempre está asociado con una vista HTML.
Las fábricas no están asociados con ninguna vista y, por lo tanto, no se les inyecta un $scope como lo haría un controlador. Los servicios/fábricas pueden tener el $>rootScope inyectado en ellos. Puede poner cosas en $rootScope o mejor usar una directiva como la sugerida anteriormente para acceder a un $>scope específico.