无法在控制器中识别工厂或服务
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);
}
}]);
试图让这个工厂在我的其他控制器中得到识别,以便我可以将结果对象注入到它们中。
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);
}
}]);