2013-11-21 8 views
9

को restangular getList परिणाम नियत तो ऐसा लगता है कि उदाहरण में आप यह कर सकते हैं:

App.controller('ProjectListCtrl', ['$scope', 'Restangular', function($scope, Restangular) { 
    $scope.projects = Restangular.all('project/').getList(); 
}]); 

लेकिन यह मेरे लिए काम नहीं करता। मैं एनजी-दोहराने परियोजनाओं में परियोजना और गुंजाइश को देखते हैं, मैं देख रहा हूँ:

{ 
projects: { 
    then: null 
    catch: null 
    finally: null 
    call: null 
    get: null 
    restangularCollection: true 
    push: null 
} 
} 

कौन सा एक संयुक्त राष्ट्र का समाधान वादा वस्तु सही तरह लग रहा है?

यह ठीक काम करता है, लेकिन अधिक वर्बोज़ है:

lgtApp.controller('ProjectListCtrl', ['$scope', 'Restangular', function($scope, Restangular) { 
    Restangular.all('project/').getList().then(function(projects){    
    $scope.projects = projects;            
    });                  
}]);                   

क्या मैं कुछ याद आती है? यह डॉक्स में है:

$scope.owners = house.getList('owners') 

कोई फर्क नहीं करना चाहिए, लेकिन ऐसा होता है जब मैं लहर क्रोम प्लगइन में एक phonegap ऐप का परीक्षण कर रहा हूँ।

उत्तर

7

कोणीय 1.2 के रूप में, वादे का स्वचालित अनचाहे अक्षम कर दिया गया था और बहिष्कृत किया गया था। तो,

$scope.projects = Restangular.all('project/').getList(); 

आप पूर्व में जारी हुए में सीधे अपने ध्यान में रखते हुए projects का उपयोग करने की अनुमति देगा, जबकि (जिसके लिए Restangular डॉक्स जहां संभावना लिखा), अब स्वचालित रूप से काम कर सकते हैं। आप $parseProvider.unwrapPromises() एपीआई के माध्यम से सुविधा को पुन: सक्षम कर सकते हैं, लेकिन इसे बहिष्कृत किया गया है, इसलिए आपकी सबसे अच्छी शर्त शायद आपके नियंत्रक में वादे को मैन्युअल रूप से हल करने के लिए है जैसे कि आपके अधिक वर्बोज़ उदाहरण में।

अधिक जानकारी के लिए चेकइन commit message देखें।

9

अन्य टिप्पणी के अलावा, वादा अनचाहे अक्षम होने के बावजूद, मैंने रेस्टैंगुलर में आपके लिए आसानी से अनचाहे वादे करने का एक नया तरीका लागू किया है (इसी तरह के संसाधनों के वचन के बिना $ संसाधन क्या करता है)। अधिक जानकारी के लिए https://github.com/mgonto/restangular#using-values-directly-in-templates की जाँच करें :)

+1

यह होना चाहिए स्वीकार किए जाते हैं जवाब – yar1

+0

इस के साथ बहुत भाग्य होने लगती है। यह एक खाली सरणी लौट रहा है - http://stackoverflow.com/questions/27844177/restangular-data-getting-into-scope-for-a-list – Horse

12
$scope.projects = Restangular.all('project/').getList().$object; 
+0

वर्तमान संस्करण में (पुनर्विक्रेता 1.5.1, कोणीय 1.3.15) दृष्टिकोण काम करता प्रतीत होता है, क्योंकि वास्तविक सरणी संपत्ति के भीतर है, '$ ऑब्जेक्ट'। – methai

संबंधित मुद्दे