$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.