【发布时间】:2015-11-27 02:55:03
【问题描述】:
我有导航栏、主页内容和页脚。在所有这些中,我需要显示相同的数据,但它们位于不同的控制器中。 我尝试在运行阶段执行一个请求并将数据插入服务并共享此数据。但问题是由于承诺模式而导致的延迟。 我试图避免把它放在 rootScope 中。 有人有更好的主意吗?
运行阶段的示例:
PostsService.getPosts().then(function(data) {
PostsService.posts = res.data;
}
the controllers:
//home
$stateProvider
.state('home', {
url: "/",
controller:HomeController,
templateUrl: "views/home/index.html"
});
// nav controller
$scope.posts= PostsService.posts;
console.log(PostsService.posts) // is an empty array
the html:
//home view
//return data
<div ng-repeat="posts in posts">
<p>{{post.body}}</p>
</div>
//nav view is not return data
<section ng-controller="NavController">
<div ng-repeat="posts in posts">
<p>{{post.body}}</p>
</div>
</section>
//footer
<section ng-controller="FooterController">
<div ng-repeat="posts in posts">
<p>{{post.body}}</p>
</div>
</section>
plunker: http://plnkr.co/edit/CmpkURaG3ynIBVxwSpAM?p=preview
【问题讨论】:
标签: javascript angularjs