2017-11-25 155 views
1

您好,我有两个angularjs文件的第一个1是控制器和第二个是工厂的功能,但它提供了一个unpr错误unpr错误

工厂文件

var app = angular.module('basicApi',[]); 
app.factory('webApi',function($http,$q,$scope){ 
    return { 
     login : function(data){ 
      return $http.post('/user/login',data) 
      .then(function(res) { 
       if(res.status === '403'){ 
        return $q.reject("Invalid credentials"); 
       } 
      }) 
      .catch(function(err){ 
       return $q.defer('Cannot make API Call'); 
      }) 
     } 
    } 
}); 

控制器文件是

angular.module('App',["basicApi"]) 

.controller('registerController',["$scope","webApi", 
function($http,$scope,$window,webApi){ 
//login function 
$scope.login = function() { 
    var data = { 
     email: $scope.email, 
     password: $scope.password 
    } 
    webApi.login(data) 
    .then(function(res){ 
     // flash message or err message in front end 
    },function(err){ 
     //err message 
    }) 
} 

}]) 

我已经加入这两个文件到我的HTML和两个正在 角度误差在控制台

angular.js:14525 Error: [$injector:unpr] http://errors.angularjs.org/1.6.4/$injector/unpr?p0=%24scopeProvider%20%3C-%20%24scope%20%3C-%20webApi 

回答

3

(在没有供应商的口味一般)您不能注入$scopefactory/proider/service

$scope可以在控制器功能中作为可注射使用。由于控制器逻辑与其特定模板scope绑定。

删除$scope将解决您的问题。

app.factory('webApi',function($http,$q){ 
+0

感谢@Pankaj Parkar只是简单的事情,但非常重要。 :) –

+0

@sachinyadav谢谢:) –

相关问题