2016-04-14 31 views
0

Düzleştirilmiş verilerimi birleştirmek için çalışıyorum, ancak $ firebaseObject hizmetimi genişletirken gerçekten çok tuhaf bir davranışım var. Kullanıcı verilerini döndürmek için bir fabrika kullanıyorum, örneğin tam adı, iyi çalışıyor. Ama 2. Yöntemi eklemeye çalıştığımda, bu komuta erişemiyorum.

Benim fabrika:

// user factory 
app.factory("User", ["$firebaseObject", "$firebaseRef", 
    function($firebaseObject, $firebaseRef) { 
     // create a new service based on $firebaseObject 
     var User = $firebaseObject.$extend({ 
      // these methods exist on the prototype, so we can access the data using `this` 
      getTeamName: function() { 
       console.log("this: " + this); // Logs: this: [object Object] 
       console.log("full name: " + this.firstName + " " + this.lastName); // Logs: full name: undefined undefined 
       console.log("this.teams: " + this.teams); //Logs: this.teams: undefined 

       var teamKey = this.teams.$value; // TypeError: Cannot read property '$value' of undefined 
       console.log("teamKey: " + teamKey); 

       var teamObj = $firebaseObject($firebaseRef.teams.child(teamKey)); 
       console.log("teamObj.teamName: " + teamObj.teamName); 
      }, 
      getFullName: function() { // Runs just fine 
       return this.firstName + " " + this.lastName; 
      } 
     }); 
     return function(uid) { 
      // create an instance of User (the new operator is required) 
      return new User($firebaseRef.users.child(uid)); 
     } 
    } 
]); 

garip bir şey getFullName gayet güzel çalışıyor yani, herhangi sugjestions?

cevap

0

Böcek testi için herhangi bir şey dönmedi

+0

için herşeyi dönmez getTeamName benziyor, ama ben değiştirdiğinizde 'console.log ('teamObj.teamName:' + teamObj.teamName);' 'return teamObj.teamName' ile aynı hatalar veriyor, "bu" hala kararsız –