尝试在我的其他控制器中识别此工厂,以便我可以将结果对象注入其中。
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:无法读取属性'结果'未定义的。
我明白这可能是我错过的傻事。
答案 0 :(得分:1)
myApp.controller('125Zero', ['$scope','ngAudio', function($scope, ngAudio, SampleService){
你没有在依赖项的数组符号中注入SampleService
。
myApp.controller('125Zero', ['$scope','ngAudio', 'resultService', function($scope, ngAudio, resultService){
您还需要从factory
返回一个对象。目前你还没有退货。
答案 1 :(得分:1)
你需要做这样的事情:
myApp.factory('SampleService', function() {
return {
result: []
}
});
答案 2 :(得分:1)
也许你感到困惑
这是您的服务
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);
}
}]);