2014-09-03 75 views
0

我非常簡單的數據模型:AngularFire服務不返回值?

  • 合作伙伴
    • 名稱
    • OrigBal

這是代碼:

<!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> 

我一直沒能得到顯示值({{item.Name}} - {{item.OrigBal}})進行插值由服務傳回的數據。我確信這很簡單,但我顯然錯過了一些必要的東西。任何指針將不勝感激。

+1

console.log是你的朋友 – 2014-09-03 20:36:40

+0

肖恩 - console.log只是給了我一個神祕的錯誤:未捕獲的錯誤:[$ injector:modulerr] http://errors.angularjs.org/1.2.23/$injector/modulerr? P0 = MyApp來與P1 =錯誤%3A%... FC%20(HTTP%3A%2F%2Flocalhost%3A55852%2FScripts%2Fangular.min.js%3A18%3A387) – JesusReagan 2014-09-03 21:00:00

+0

也就是說,當你忘記在你的依賴列表中的模塊出現。如果你點擊錯誤,你將能夠看到哪個模塊。請注意,SO不是調試服務。在這裏做一些盡職調查,並用確切的版本信息,錯誤消息以及您試圖解決的問題清楚地說明問題案例。 – Kato 2014-09-03 21:55:29

回答

0

好了,問題是一些簡單和愚蠢的。這條線在javascript:

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

然後我在HTML定義我的NG-的應用程序爲:

<html ng-app='myApp'> 

我改成:

<html ng-app='bastion'> 

和現在的一切工作正常。對我來說很可惜,對於浪費任何人的時間感到抱歉。