无法在控制器中识别工厂或服务

Can't get factory or service to be recognized in controller

试图让这个工厂在我的其他控制器中得到识别,以便我可以将结果对象注入到它们中。

myApp.factory('resultService', function(){

function SampleService() {
this.result = [];
}
});

这是我控制器中的代码,删除了一些与问题无关的代码。

myApp.controller('125Zero', ['$scope','ngAudio', function($scope, ngAudio, SampleService){ 

    $scope.buttonPressed= function() {
   var tempObj = {};
       tempObj.title = $scope.title;
       tempObj.frequency = $scope.frequency; 
console.log(tempObj);

        SampleService.result.push($scope.tempObj);
} 
}]);

我一直收到 TypeError: Cannot read 属性 'result' of undefined.

我明白这可能是我错过的一些愚蠢的事情。

myApp.controller('125Zero', ['$scope','ngAudio', function($scope, ngAudio, SampleService){ 

您没有在依赖项的数组表示法中注入 SampleService

myApp.controller('125Zero', ['$scope','ngAudio', 'resultService', function($scope, ngAudio, resultService){ 

您还需要 return 来自 factory 的对象。目前你没有return任何东西。

你需要做这样的事情:

myApp.factory('SampleService', function() {
    return {
        result: []
    }
});

可能你一头雾水

这是您的服务

myApp.factory('resultService', function(){
    this.result = [];
    return this;
});

并且可以这样使用

myApp.controller('125Zero', ['$scope','ngAudio', 'resultService', function($scope, ngAudio, SampleService, resultService){ 
    $scope.buttonPressed= function() {
        var tempObj = {};
       tempObj.title = $scope.title;
       tempObj.frequency = $scope.frequency; 
       console.log(tempObj);

       resultService.result.push($scope.tempObj);
    } 
}]);