我正在尝试在重定向页面中使用数据,该页面以角度重定向。 在这种情况下如何移动数据。我试过在罗纳镜中使用,但这更可取吗?在任何方面,我可以使用第一页的数据,并在重定向后在页面中使用它?
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;
};
});
答案 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不是首选,因为它对所有控制器都是通用的,我们可能没有在所有控制器中使用数据。 检查此链接