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