[Javascript] आयनिक / ui-routing के साथ वादा का समाधान करना


Answers

Question

मुझे पता चलने में कुछ समस्याएं आ रही हैं कि मेरा वादा जिस तरह से मैं उम्मीद करता हूं उसे हल नहीं कर रहा है मैं आयोनिक / यूआई रूटिंग का उपयोग कर रहा हूँ

मेरी सेवा:

return {
    all: function () {
        $localForage.getItem('foo').then(function (bar) {
            return bar;
        });
    }
};

जब मैं डेटा को सांत्वना के लिए लॉग ऑन करता हूं, तो मुझे ऑब्जेक्ट्स को देखते हैं जो स्थानीयफायर इंडेक्साइडब से आता है।

मेरे apps.js:

.state('tab.foo', {
    url: '/foo',
    views: {
        'tab-foo': {
            templateUrl: 'templates/tab-foo.html',
            controller: 'fooCtrl as foo'
        }
    },
    resolve: {
        getData: function (Service) {
            return Service.all();
        }
    }
})

मेरे फू नियंत्रक में:

this.foo = getData;

जब मैं ऐसा करता हूँ, नियंत्रक में foo अनिर्धारित होता है, कोई विचार क्यों? कंसोल के लिए लॉगजीग मैं देख सकता हूं कि सेवा को apps.js कहा जाता है, मैं देख सकता हूं कि इसका समाधान हो रहा है क्योंकि मैं कंसोल में डेटा देखता हूं। Ui-router का उपयोग करना मैं उम्मीद करता हूं कि जब तक सब कुछ ठीक नहीं हो जाता, तब तक दृश्य / नियंत्रक को लोड नहीं किया जाएगा।

मैंने निम्नलिखित को प्रेरणा के रूप में उपयोग किया, केवल $ q सेवा के बिना। http://odetocode.com/blogs/scott/archive/2014/05/20/using-resolve-in-angularjs-routes.aspx