路由时将值从一个页面传递到另一个页面

时间:2016-03-28 13:33:06

标签: angularjs

我有一个页面,其中有一个下拉列表,我的目标是当我从下拉列表中选择任何值并单击Next,它将使用ngRouteProvider切换到下一页并执行$ http.post,我需要通过数据作为回报负载。

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

                        }]
                    }

                })

1 个答案:

答案 0 :(得分: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

相关问题