AngularJs将数据移动到重定向页面

时间:2016-11-24 06:40:49

标签: javascript angularjs redirect

我正在尝试在重定向页面中使用数据,该页面以角度重定向。 在这种情况下如何移动数据。我试过在罗纳镜中使用,但这更可取吗?在任何方面,我可以使用第一页的数据,并在重定向后在页面中使用它?

var app = angular.module('urlApp', []);
app.controller('urlCtrl', function ($scope, $log, $window) {
    $scope.ClickMeToRedirect = function () {
    $scope.myData = datafrommyDb;//This is what I am planning to use in redirected page
        var url = "http://" + $window.location.host + "/Account/Login";
        $log.log(url);
        $window.location.href = url;
    };
});

2 个答案:

答案 0 :(得分:1)

如果您使用的是angular-ui-router,则可以按照以下方法进行操作

params

中添加.state属性
.state("nextPage", {
        url: '/nextpage',
        templateUrl: 'app/views/next.html',
        controller: 'NextController',
        controllerAs: 'vm',
        params: {
            alpha: null,
            beta: null
        },
        data: {
            pageTitle: 'Next Page'
        }
    });

现在在当前页面上

 var params = { alpha :'alpha', beta:  'beta'}
 $state.go('nextPage', params);

在下一页

 angular
     .module('app')
     .controller('NextController', function($log, $state) {
         var vm = this;

         $log.log(' $state.params', $state.params);

         if ($state.params.alpha !== null && $state.params.beta !== null) {
             vm.whatevervariable = $state.params.alpha;
             vm.anothervariable = $state.params.beta;
         }
});

答案 1 :(得分:1)

如果要在不同控制器之间使用数据,可以使用角度服务。由于服务是单例对象,因此相同的对象被注入到不同的控制器中。 $ rootScope不是首选,因为它对所有控制器都是通用的,我们可能没有在所有控制器中使用数据。 检查此链接

$rootScope vs. service - Angular JS

Share data between AngularJS controllers