簡體   English   中英

在出廠錯誤中注入服務:[$ injector:unpr]未知提供者:$ scopeProvider < - $ scope < - ProjectService < - 項目

[英]Inject service in factory error : [$injector:unpr] Unknown provider: $scopeProvider <- $scope <- ProjectService <- Project

我想在我的工廠注入我的服務,在我的控制器中使用我的工廠:

調節器

app.home.controller('HomeController', ['$scope', '$http', 'Project', function ($scope, $http, Project) {

    var project = new Project();

    $scope.refresh = function(){
        project.createTable();
    };

    $scope.refresh();

}]);

型號(工廠)

app.project.factory('Project', function (ProjectService) {

    var Project = function (properties) {
        // Model
        this.file    = null;
        this.name      = null;
        this.path  = null;
        this.is_active = null;

        angular.extend(this, properties);
    };

    Project.prototype.setModel = function (obj) {
        angular.extend(this, obj);
    };

    Project.prototype.createTable = function () {
        console.log(this);
        return ProjectService.ok();
    };

    return Project;

});

服務

app.project.service('ProjectService', ['$scope', '$http', function ($scope, $http) {

    this.ok = function() {
      return 'all';  
    };

}]);

但是我有一個錯誤:

angular.min.js:13550錯誤:[$ injector:unpr]未知提供者:$ scopeProvider < - $ scope < - ProjectService < - 項目

我沒有看到我的錯誤..

我試圖重命名模型/服務它是同樣的錯誤

在我的index.html中:

    <!--Project-->
    <script src="js/modules/project/project.js"></script>
    <script src="js/modules/project/model/project.model.js"></script>
    <script src="js/modules/project/service/project.service.js"></script>

問題是,您在ProjectService服務中注入了$scope提供程序。

你不能在服務中注入$scope provider,基本上它只能用於注入控制器和指令鏈接功能。

app.project.service('ProjectService', ['$http', function ($http) {
   var self = this;
    self.ok = function() {
      return 'all';  
    };
}]);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM