2015-11-24 119 views
0

我试图用自定义消息加载视图。所以这里是场景以角度将数据从一个视图传递到另一个视图

让我说我在索引,我要导航到index2.html。

Index2.html将呈现传递给它的自定义消息。一种方式肯定是$ routeParams做到这一点,但我不如何通过URL传递信息,而我希望它在传递的数据是不是在URL暴露邮政格式

而且我不不想使用本地存储,会话或cookie。 我希望以某种方式将数据传递给视图并将其呈现。

如果任何人都可以帮我这个

+0

您可以通过本地存储,会话或cookie –

+0

有没有办法不使用会话,localstorage或cookie,因为我想通过数据 – Sadique

+0

从我的角度来看,您可以通过发送数据服务器通过后,并呈现到下一页 –

回答

4

- 在页面之间共享数据的正确方法是工厂/服务。

在这个例子中,我将向您展示如何在两个控制器之间共享数据,但它是一回事。一旦你调用服务,你可以访问他的实例和他的数据。

var myApp = angular.module('myApp', []); 
 
    
 
myApp.factory('shareService', function(){ 
 
    return { 
 
     title: "some title" 
 
    }; 
 
}); 
 

 
myApp.controller('controller1', function($scope, shareService){  
 
    var ctrl1 = this; 
 
    ctrl1.title = shareService.title; 
 
}); 
 

 
myApp.controller('controller2', function($scope, shareService){ 
 
    var ctrl2 = this; 
 
    ctrl2.title = shareService.title; 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="myApp"> 
 
    <div ng-controller="controller1 as ctrl1"> 
 
     {{ctrl1.title}}   
 
    </div> 
 
    <div ng-controller="controller2 as ctrl2"> 
 
     {{ctrl2.title}} 
 
    </div>  
 
</div> 
 

了解更多关于服务上AngularJs doc



UPDATE

路由和共享数据的工作示例on plunkr

+0

这里工厂数据将在导航到另一个页面时重置。 –

+0

@AbbasGaliyakot它将工作导航也因为角框架。查看我的答案更新。 – Dvir

+0

您已经使用$ routeProvider,它将在索引页面中注入页面1和页面2,这意味着页面不会被重新加载。如果这是场景,那么可以通过$ rootscope –

相关问题