2016-03-28 4 views
0

У меня есть страница, в которой есть выпадающее меню. Моя цель - когда я вычеркиваю любое значение из раскрывающегося списка и нажимаю «Далее», оно переключается на следующую страницу с помощью 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 блока и получить доступ к переменной через него.

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 передавать переменные (но не отлично подходит для исполнения, если вы делаете для большой NO. Переменных)

Passing variables from one controller to another with $rootscope

+0

Как внедрить фабрику в блок разрешений или любой пример инъекции корневого индекса $. – user3045179

+0

так же, как вы ввели услугу '$ http'. Я соответствующим образом обновляю свой ответ. –

+0

Как я могу передавать данные при вызове JSON. Когда когда-либо я пытаюсь передать данные, они отображаются, Несанкционированная ошибка. return $ http.post (appContext ('xyz.json'), {name: 'Ankit'}); – user3045179

Смежные вопросы