我正在尝试加载一些 JSON 并使用 $rootScope 存储它,以便它在控制器之间持续存在。当我运行我的应用程序时,我收到以下错误:
TypeError: Cannot call method 'get' of undefined
在我尝试引入 $rootScope 之前,get 方法运行良好……有什么想法吗?
我的服务如下所示:
1 /**
2 * Service to get the quiz data from a JSON source
3 */
4 app.factory('quizService', ['$rootScope', function ($scope, $rootScope, $http) {
5 var promise;
6 var service = {
7 getQuiz: function($scope, $http) {
8 if ( !promise ) {
9 promise = $http.get('QuizFileName.quiz').then(function (response) {
10 return response.data;
11 });
12 }
13 return promise;
14 }
15 };
16 return service;
17 }]);
我的控制器如下所示:
7 // Get Quiz data from service
8 quizService.getQuiz().then(function(data) {
9 $scope.quiz = data;
10
11 // Redirect to scores if already completed this
12 if($scope.quiz.complete === true) {
13 $location.path('scores');
14 }
15 });