Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在AngularJS中创建工厂?_Javascript_Angularjs - Fatal编程技术网

Javascript 如何在AngularJS中创建工厂?

Javascript 如何在AngularJS中创建工厂?,javascript,angularjs,Javascript,Angularjs,我已经在angular创建了一个工厂,但是我得到了以下错误 Unknown provider: 这是工厂: app.factory("getFoo", function($scope){ return { getCommi: function(val,id){ var array = ["hello","world"]; return array; } } }); 控制器是: app.controlle

我已经在angular创建了一个工厂,但是我得到了以下错误

Unknown provider: 
这是工厂:

app.factory("getFoo", function($scope){
    return {
       getCommi: function(val,id){
          var array = ["hello","world"];
          return array;
       }
     } 
});
控制器是:

app.controller('myCtrl', ['$scope','getFoo',function($scope,getFoo){
   $scope.myArr = getFoo.getCommi(4,1);
}])

我要怎么做才能解决这个问题?我看不出有什么问题。

您只需要从工厂中删除
$scope


不需要范围,您的工厂注射应如下所示

var-app=angular.module('plunker',[]);
应用程序控制器('MainCtrl',函数($scope,getFoo){
$scope.myArr=getFoo.getCommi(4,1);
});
应用程序工厂('getFoo',函数(){
返回{
getCommi:函数(val,id){
var数组=[“你好”,“世界”];
返回数组;
}
} 
});    

安古拉斯普朗克
文件。写(“”);
{{myArr}}


从工厂中删除$scope,并在应用程序的运行模块中添加工厂“getFoo”作为依赖项,如下所示:

运行(['$rootScope','$location','getFoo',函数($rootScope,$location,getFoo){


}]))

请从工厂移除$scope

var app = angular.module('myApp',[]);

app.factory("getFoo", function(){
    return {
       getCommi: function(val,id){
          var array = ["hello","world"];
          return array;
       }
    } 
});

app.controller('myCtrl', ['$scope','getFoo',function($scope,getFoo){
   $scope.myArr = getFoo.getCommi(4,1);

}])

您是否已将工厂注入控制器?是否已将工厂添加到模块(例如,
angular.module('app')
)?我已编辑控制器的外观。我没有将工厂添加到我的模块中,也没有将
$scope
注入
getFoo
感谢artur grzesiak,我从工厂中删除了$scope,它可以工作了!