以角度方式将数据从一个视图传递到另一个视图

时间:2015-11-24 10:54:25

标签: javascript angularjs post

我正在尝试加载包含自定义消息的视图。所以这是场景

假设我在索引上,我将导航到index2.html。

Index2.html将呈现传递给它的自定义消息。一种方法肯定是用 $ routeParams 来做,但我不知道通过网址传递信息的内容,而是我希望它采用一般的POST格式,其中传递的数据不会在网址中公开

另外,我不想使用localstorage,session或cookie。 我希望它以一种方式将数据传递给视图并且应该渲染它。

如果有人可以帮我这个

1 个答案:

答案 0 :(得分:4)

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

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



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>
    
&#13;
&#13;
&#13;

详细了解AngularJs doc

上的服务



<强>更新

plunkr

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