我刚开始使用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”。
答案 0 :(得分:34)
这只是一个猜测,但我不知道为什么你将$ scope列为服务的依赖项。我觉得这样的事情
app.service('newActiveOrdersModel', ['$rootScope',
function($rootScope){..}]
将解决错误。除非你绝对需要,否则我不会包含$ rootScope。在Angular中,通常认为在$ rootScope中存储东西是不好的做法。