2016-04-11 23 views
0

Verilerimi "m" nesnesine sürüklediğinden ve bu özniteliğe erişemediğimden veri öznitelikleri alabilmem için $ kaynak vaadine erişmenin bir yolu var mı Bunun için herhangi bir çözüm var mı?

[m, $promise: d, $resolved: true] 

m benim tüm verileri içeren ama benim herhangi bir veri onlarla yolumu çalışmak niteliklerini erişmek olamaz. verilerimi çözgü [m, $promise: d, $resolved: true] 'm' erişimine zaten vardır: Bu

function getBank(id){ 
    return $resource('http://localhost:3000/bank/:id').query({id : id}).$promise.then(function(user){ 
     console.log(user); 
    }); 
} 

şimdi console.log bana vermesini: Burada

benim kaynaktır?

+0

ne soran belirsiz .. daha fazla açıklama + kodu ekle .. –

+0

sorumu şimdi güncelledim umuyoruz artık daha temizdir – hassine

cevap

-1

$ Promise kullanmanız gerekmiyor.

(function(){ 
    'use strict'; 

angular.module('app') 
    .factory('User', User); 

User.$inject = ["$resource"]; 
function User($resource){ 
    return { 
     getBank: $resource('http://localhost:3000/bank/:id', {id: '@id'}), 
    } 
}; 
})(); 

ve bu durumda kontrol ünitesine:

(function(){ 
    'use strict'; 

angular.module('app').controller('BankController', BankController); 

BankController.$inject = ["$scope", "User"]; 
function BankController($scope, User){ 
    User.getBank.get({id:1}, function(item){ 
    console.log(item); 
    },function(err){ 
     $scope.error=true; 
    }); 
    } 
} 
})(); 
+0

** ngResource ** 'ı nasıl kullanacağınızı anlamıyor gibi görünüyor. ct yolu) '' $ promise' söz zincirine sahip olmak için gereklidir ... kullandığınız yöntem geri arama işlevleridir .. –

+0

ngResource kullanmayı biliyorum. Sorunum yolunda ngResource söz veriyor – hassine

0

iyi i $ kullanacak

deneyin öncelikle fabrika yazdı için .. Eğer ngResource nasıl kullanılacağını Anlamadım görünüyor http ben bu yana benim dava düzenlemek geri verilen söz verilen warp dolandırmak değil benim hizmetimi nasıl değiştirdiğimi tüm burada teşekkür ederim:

angular.module('myApp.profile').factory('Bank',Bank); 

Bank. $ İnject = ['$ resource', '$ http']; işlevi Bankası ($ kaynak, $ http) {

var service = {}; 
service.getBank = getBank; 
return service; 

/*function getBank(id){ 
    return $resource('http://localhost:3000/bank/:id').query({id : id}).$promise.then(function(user){ 
     console.log(user); 
    }); 
}*/ 
function getBank(id, callback){ 
    var response ; 
    return $http.get('http://localhost:3000/bank/'+id).then(function(bank){ 
     response = {success : true, bank : bank}; 
     callback(response); 
    },function(error){ 
     response = {success : false, message : "Error retreiving Bank data"}; 
     callback(response); 
    }); 

} 

}

denetleyici çağrı:

Bank.getBank($rootScope.loggedUser._id,function(response){ 
    if(response.success){ 
     $scope.bank = response.bank; 
     console.log(response.bank.data[0]._id); 
    }else{ 
     console.log(response.message); 
    } 
}); 

ve gerektiği hile :)

İlgili konular