2014-09-03 4 views
0

Mon modèle de données très simple:Le service AngularFire ne renvoie pas les valeurs?

  • Partners
    • Nom
    • OrigBal

Et voici le code:

<!DOCTYPE html> 
<html ng-app="myApp"> 
<head> 
    <title>Testing</title> 
</head> 

<body ng-controller="PartnerCtrl"> 

    <div> 
     <li ng-repeat="item in items">{{item.Name}} - {{item.OrigBal}}</li> 
    </div> 


    <script> 
     var app = angular.module("bastion", ["firebase"]); 
     app.constant('FIREBASE_URI', 'https://notpublic.firebaseio.com/Partners'); 

     app.controller('PartnerCtrl', [ 
      '$scope', 'PartnerService', function($scope, PartnerService) { 
       $scope.newItem = { name: '', OrigBal: 0 }; 
       $scope.currentItem = null; 

       $scope.items = PartnerService.getItems(); 

       $scope.addItem = function() { 
        PartnerService.addItem(angular.copy($scope.newItem)); 
        $scope.newItem = { name: '', OrigBal: 0 }; 
       }; 

       $scope.updateItem = function(id) { 
        PartnerService.updateItem(id); 
       }; 

       $scope.removeItem = function(id) { 
        PartnerService.removeItem(id); 
       }; 
      } 
     ]); 

     app.factory('PartnerService', [ 
      '$firebase', 'FIREBASE_URI', function($firebase, FIREBASE_URI) { 
       var ref = new Firebase(FIREBASE_URI); 
       var items = $firebase(ref); 

       var getItems = function() { 
        return items; 
       }; 

       var addItem = function(item) { 
        items.$add(item); 
       }; 

       var updateItem = function(id) { 
        items.$save(id); 
       }; 

       var removeItem = function(id) { 
        items.$remove(id); 
       }; 

       return { 
        getItems: getItems, 
        addItem: addItem, 
        updateItem: updateItem, 
        removeItem: removeItem 
       } 
      } 
     ]); 
    </script> 

    <script src="/Scripts/angular.min.js"></script> 
    <script src="https://cdn.firebase.com/js/client/1.0.15/firebase.js"></script> 
    <script src="/Scripts/angularfire.min.js"></script> 
</body>  
</html> 

Je n'ai pas pu obtenir les valeurs d'affichage ({{item.Name}} - {{item.OrigBal}}) pour interpoler les données transmises par le service. Je suis sûr que c'est quelque chose de simple, mais il me manque évidemment quelque chose d'essentiel. Tous les pointeurs seraient très appréciés.

+1

console.log est votre ami –

+0

Shawn - console.log me donne juste une erreur cryptique: Erreur Uncaught: [$ injector: modulerr] http://errors.angularjs.org/1.2.23/$injector/modulerr? p0 = myApp & p1 = Erreur% 3A% ... fc% 20 (http% 3A% 2F% 2Flocalhost% 3A55852% 2FScripts% 2Fangular.min.js% 3A18% 3A387) – JesusReagan

+0

Cela se produit lorsque vous oubliez d'inclure un module dans votre liste de dépendances. Si vous cliquez sur l'erreur, vous pourrez voir quel module. Veuillez noter que SO n'est pas un service de débogage. Faites preuve de diligence raisonnable et énoncez clairement le problème avec les informations exactes sur la version, les messages d'erreur et ce que vous avez essayé de résoudre. – Kato

Répondre

0

Ok, la question était quelque chose de simple et stupide. Cette ligne javascript:

var app = angular.module('bastion', ['firebase']); 

Je définis mon ng-app en HTML:

<html ng-app='myApp'> 

J'ai changé à:

<html ng-app='bastion'> 

et tout fonctionne correctement maintenant. Manque stupide de ma part, désolé de perdre son temps.

Questions connexes