我正在尝试加载其中包含自定义消息的 View 。这是场景
假设我正在索引上,我将导航到index2.html。
Index2.html 将呈现传递给它的自定义消息。一种方法肯定是使用 $routeParams 来实现,但我不知道如何通过 url 传递信息,而是希望它采用通用的 POST 格式,其中传递的数据不会在 url 中公开
此外,我不想使用本地存储、 session 或 cookie。 我希望以一种将数据传递到 View 的方式,并且它应该被渲染。
如果有人能帮我解决这个问题
最佳答案
工厂 - 在页面之间共享数据的正确方法是工厂/服务。
在这个例子中,我将向您展示如何在两个 Controller 之间共享数据,但它是同一件事。一旦您调用该服务,您就可以访问他的实例和数据。
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
更新
在 plunkr 上路由和共享数据的工作示例
关于javascript - 以 Angular 将数据从一个 View 传递到另一个 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33891695/