2016-03-28 10 views
0

Ich habe eine Seite, in der eine Dropdown ist, Mein Ziel ist, wenn ich einen Wert aus Dropdown auswählen und klicken Sie auf Weiter, Es wird mit ngRouteProvider und tun auf nächste Seite $ http.post, ich muss Daten als Payback-Last übergeben.Übergeben Wert von einer Seite zu einer anderen beim Routing

    .when('/xyz/step2', { 
        templateUrl: partial('replacStep2.html'), 
        controller: 'xyzCtrl', 
        resolve: { 
         cardTypeDetails: ['$http', function ($http) { 
          return  $http.post(appContext('xyz.json'),{}); 

         }] 
        } 

       }) 

Antwort

0

Sie können eine Fabrik erstellen und eine Variable in es gesetzt, später können Sie diese Fabrik in Ihrem Entschluss Block injizieren und Zugriff auf Ihre Variable durch.

resolve: { 
    cardTypeDetails: ['$http','sharedFactory', function ($http,sharedFactory) { 
    console.log(sharedFactory.sharedVariable); //use it like this 
    return $http.post(appContext('xyz.json'),{}); 

    }] 
} 

und Fabrik

angular.module('demoApp').factory('sharedFactory',function(){ 
    return { 
     sharedVariable:null 
    }; 
}); 

Oder in gleicher Weise können Sie $rootScope verwenden Variablen übergeben (aber nicht so toll für die Leistung, wenn Sie für große nicht tun. Variablen)

Passing variables from one controller to another with $rootscope

+0

Wie man die Fabrik in einen Auflösungsblock einspritzt, oder ein Beispiel für die Injektion von $ rootscope wird ebenfalls helfen. – user3045179

+0

genau wie Sie "$ http" Service injiziert. Ich aktualisiere meine Antwort entsprechend. –

+0

Wie kann ich beim JSON-Aufruf Daten übergeben? Wann immer ich versuche, Daten zu übergeben, zeigt es, nicht autorisierter Fehler. return $ http.post (appContext ('xyz.json'), {Name: 'Ankit'}); – user3045179

Verwandte Themen