小编典典

当我尝试使用模块时,AngularJS抛出未知提供程序:$ scopeProvider <-$ scope错误

angularjs

我刚开始使用AngularJS。以下代码在控制台中给出了错误。

未知提供者:$ scopeProvider <-$ scope
<-newActiveOrdersModel。我已经研究过了,但由于多种原因,似乎可能会发生Unknown
Provider错误。如果有人可以指出我要去哪里,那将是很好的选择?

var app;
(function(angular){

    app = angular.module('OrdersDashboard',[]);
    app.config(['$routeProvider', function($routeProvider) {
        $routeProvider.
            when('/current/new', {templateUrl: 'orders/partials/new_current', controller: 'newActiveOrdersCtrl'}).
            otherwise({redirectTo: '/'});
    }]);
    app.service('newActiveOrdersModel', ['$scope', '$rootScope',
        function($scope, $rootScope){

            this.Orders=["This is a test order"];
            this.fetchOrders = function(){

                console.log("This is a test order");
                this.Orders=["This is a test order1111"];
            };
        }]);
    app.controller('newActiveOrdersCtrl', ['$scope', '$rootScope', 'newActiveOrdersModel',
        function($scope, $rootScope, newActiveOrdersModel){

            $scope.test="Hello World";
        }]);

})(angular);

看来Angular Js无法识别“ newActiveOrdersModel”。


阅读 221

收藏
2020-07-04

共1个答案

小编典典

这只是一个猜测,但我不知道为什么将$ scope列为服务的依赖项。我觉得这样

 app.service('newActiveOrdersModel', ['$rootScope',
    function($rootScope){..}]

将解决错误。另外,除非您绝对需要,否则我不会包含$ rootScope。在Angular中通常认为将内容存储在$ rootScope中是一种不好的做法。

2020-07-04