2016-09-26 3 views
0

저는 Angular와 Firebase로 작업 중이며 컨트롤러에 $firebaseArray을 주입하는 데 문제가 있습니다. 여기에 코드입니다 : 내가 중포 기지의 현재 버전은 다음입니다

Error: [$injector:unpr] http://errors.angularjs.org/1.5.6/$injector/unpr?p0=%24firebaseArrayProvider%20%3C-%20%24firebaseArray%20%3C-%20MeetingsController 
O/<@https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:6:412 
db/n.$injector<@https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:43:84 
[email protected]://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:40:344 
db/U<@https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:43:144 
[email protected]://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:40:344 
[email protected]://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:41:78 
h/<[email protected]://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:41:445 
ff/this.$get</<@https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:90:1 
A/<[email protected]:///E:/Ex_Files_AngularJS_DataDriven/Ex_Files_AngularJS_DataDriven/Exercise%20Files/ch01/01_02/angulardata/js/lib/angular/angular-route.min.js:7:268 
bb/<@https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:16:228 
[email protected]://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:81:35 
[email protected]://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:66:176 
[email protected]://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:58:429 
aa/<@https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:58:67 
ac/<@https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:62:428 
[email protected]://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:59:422 
[email protected]://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:63:447 
[email protected]:///E:/Ex_Files_AngularJS_DataDriven/Ex_Files_AngularJS_DataDriven/Exercise%20Files/ch01/01_02/angulardata/js/lib/angular/angular-route.min.js:6:364 
uf/this.$get</[email protected]://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:147:483 
m/<@file:///E:/Ex_Files_AngularJS_DataDriven/Ex_Files_AngularJS_DataDriven/Exercise%20Files/ch01/01_02/angulardata/js/lib/angular/angular-route.min.js:11:408 
e/<@https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:130:409 
uf/this.$get</[email protected]://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:145:103 
uf/this.$get</[email protected]://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:142:165 
uf/this.$get</[email protected]://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:145:399 
[email protected]://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:97:248 
[email protected]://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:101:373 
fg/</[email protected]://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:102:397 
<main class="cf ng-scope" ng-view=""> 

:

myApp.controller("MeetingsController", 
    ['$scope','$rootScope','$firebaseArray', 
    function($scope,$firebaseArray,$rootScope){ 

    var ref = firebase.database().ref(); 
    var auth = firebase.auth(); 

     auth.onAuthStateChanged(function(user) { 
      if (user) { 
      var data = firebase.database().ref('users/' + $rootScope.currentUser.$id + '/meetings'); 
      var meetingsInfo=$firebaseArray(data); 

      $scope.addmeeting=function(){ 
       meetingsInfo.$add({ 
        name:$scope.meetingname, 
        date:firebase.ServerValue.TIMESTAMP 
       }).then(function(){ 
        $scope.meetingname=' '; 
       }) 
      }; 
      } 
     }); 

}]); 

스택 추적이 아래에 첨부되어 있습니다. 내가 뭔가 잘못하고 있는거야?

+1

모듈에 firebase를 삽입하고 있는지 확인하십시오. var app = angular.mod ule ("sampleApp", [ "firebase"]); –

+0

@MattyM 감사합니다. 문제를 해결했습니다. 나는 한 가지 더 질문했다. Firebase의 현재 버전에서'firebase.ServerValue.TIMESTAMP'와 같은 것은 무엇입니까? –

답변

1

순서는, 올바른 다음과 같이 변경하지

myApp.controller("MeetingsController",'$scope','$rootScope','$firebaseArray', 
    function($scope,$rootScope,$firebaseArray){ 

}

또한

모듈에 대한 종속성으로 당신이 주입 한 '중포 기지'를 만들

var app = angular.module("sampleApp", ["firebase"]); 

DEMO APP

+0

변경됨. 그러나 여전히 같은 오류. @sajeetharan –

+0

작동해야합니다. 주문이 맞습니까? – Sajeetharan

+0

예, 답을 찾은 후에 수정했습니다. 그러나 여전히 오류가 없습니다. 나는 여기서 아무것도 놓치고 있다고 생각하지 않는다. 내가? @sajeetharan –