答案 0 :(得分:2)
Angular是专为单页面应用程序设计的,虽然还有其他非Angular方法可以实现,但它无法在多个页面之间传递数据。相反,您应该使用ngRouter
或ui-router
这将允许您在应用中创建深层链接,您可以使用Angular的服务和内置功能在它们之间传递数据。
http://plnkr.co/edit/iruMWNAV4AFdB4tFWzBR
只有在您需要深层链接时才需要这样做。否则,您可以通过其他方式更新页面显示,例如使用ng-if
答案 1 :(得分:1)
尝试在$ rootScope中保存变量
答案 2 :(得分:1)
通常在页面之间共享数据(我假设每个页面都有自己的控制器)
我想到的两种方法,
场景1:包含父子关系的两个页面
<div ng-controller="ParentController as prntController">
<div ng-controller="ChildController as chldController"></div>
</div>
在这种情况下,ChildController始终访问父类的数据(或范围),如
$scope.parentData = $scope.$parent.parentData;
场景2:两个页面是独立的 - 创建工厂以共享数据(最佳方法IMO)
分享数据的最佳方式是创建工厂
app.factory('sharedData', function() {
return {};
}
app.controller('ParentController', function ($scope, sharedData) {
sharedData.parentData = 'Im parent';
});
app.controller('ChildController', function ($scope, sharedData) {
//can access parent data like below
$scope.data = shareddata.parentData;
});