2016-03-28 148 views
0

我有一個頁面,其中有一個下拉菜單,我的目標是當我從下拉菜單中選擇任何值並單擊Next時,它將使用ngRouteProvider切換到下一頁, $ http.post,我需要傳遞數據作爲回報負載。路由時將值從一個頁面傳遞到另一個頁面

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

         }] 
        } 

       }) 

回答

0

您可以創建一個工廠並在其中設置一個變量,稍後可以將該工廠注入到您的解析塊中並通過它訪問您的變量。

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

    }] 
} 

和工廠

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

還是以同樣的方式,你可以使用$rootScope傳遞變量(如果你對大沒有做,但不是偉大的性能的變量。)

Passing variables from one controller to another with $rootscope

+0

如何在解析模塊中注入工廠或注入$ rootscope的任何示例也有幫助。 – user3045179

+0

就像你注入'$ http'服務一樣。我相應地更新我的答案。 –

+0

如何在進行JSON調用時傳遞數據。當我試圖傳遞數據時,它顯示,未經授權的錯誤。返回$ http.post(appContext('xyz.json'),{name:'Ankit'}); – user3045179

相關問題