【问题标题】:Angularjs error Unknown provider: $scopeProvider <- $scope <- userAngularjs错误未知提供者:$scopeProvider <- $scope <- user
【发布时间】:2015-08-27 20:12:27
【问题描述】:

我得到了错误

未知提供者:$userProvider

使用以下代码:

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

app.factory("user", function($scope, $http) {
   var usr = {};
   usr.getAllLists = function(){
       return "test";
   }
   return usr;  
});

cart.controller("MyController", ["$scope", "$http", "$user", 
    function ($scope, $http, user){

        $scope.initialize = function(){
            $scope.lists = user.getAllLists();
        }

    }
]);

你看到错误了吗?

【问题讨论】:

    标签: javascript angularjs angularjs-factory angular-controller


    【解决方案1】:

    假设购物车依赖于应用模块。

    cart.controller("MyController", ["$scope", "$http", "user", 
        function ($scope, $http, user){
    
            $scope.initialize = function(){
                $scope.lists = user.getAllLists();
            }
        }
    

    它必须是用户而不是$user

    另外,在工厂中,使用 $scope 代替 $rootScope

    【讨论】:

    • 为您解答。我之前也更改了它,但我没有 $ 我得到:“未知提供者:$scopeProvider
    • cart 模块不一样,一定是依赖app?
    • 我将工厂中的 $scope 更改为 $rootScope。现在它起作用了。控制器是否有自己的作用域?
    • 你做出了正确的改变——即使我错过了。每个控制器都有自己的范围,而服务和工厂只能访问 rootScope
    • 您还有其他问题/疑问吗?
    猜你喜欢
    • 2017-04-03
    • 2014-12-22
    • 1970-01-01
    • 2015-08-12
    • 2016-05-09
    • 1970-01-01
    • 1970-01-01
    • 2013-10-19
    • 2016-08-06
    相关资源
    最近更新 更多