Javascript 如何让绑定显示在不同的页面上(每个页面都有各自的控制器)?

Javascript 如何让绑定显示在不同的页面上(每个页面都有各自的控制器)?,javascript,angularjs,Javascript,Angularjs,情况: -Controller1处理与第1页帖子相关的数据 -Controller2处理与上文第2页帖子评论相关的数据 {{comments.length}}在有Controller2`的第2页上工作,但在第1页中不工作。我阅读了有关共享服务的内容,想知道在这种情况下如何插入服务 我不想让两个控制器都反映一个相同的对象名称,该名称将反映两个不同控制器下的两个不同值。我希望在第1页使{comments.length}可行 控制器1 控制器2 共享服务 我注意到一个共享2个控制器的服务解决方案

情况:

-Controller1处理与第1页帖子相关的数据

-Controller2处理与上文第2页帖子评论相关的数据

{{comments.length}}在有Controller2`的第2页上工作,但在第1页中不工作。我阅读了有关共享服务的内容,想知道在这种情况下如何插入服务

我不想让两个控制器都反映一个相同的对象名称,该名称将反映两个不同控制器下的两个不同值。我希望在第1页使{comments.length}可行

控制器1

控制器2

共享服务

我注意到一个共享2个控制器的服务解决方案,因此:


这是最好的解决方案吗?还有其他更简单的方法吗?

$rootScope很简单,但很麻烦,我会使用共享服务/工厂-。如果你用这种方式处理对象,你也可以像另一个例子那样不用getter/setter进行绑定。谢谢@Dylan。我在rootscope上有东西,它完全弄乱了我的示波器。你说不需要getter/setter是什么意思?我的意思是,如果你把我的示例plunker与你列出的getProperty/setProperty示例进行比较。绑定是在对象上完成的,因此似乎不需要额外的代码。
app.controller('PostsCtrl', function($scope, Post, Auth) {   //insert Shared here

  $scope.posts = Post.all;
  $scope.user = Auth.user;
app.controller('PostViewCtrl', function($scope, Post, Auth, $stateParams) { //insert Shared here

    $scope.post = Post.get($stateParams.postId);
    $scope.comments = Post.comments($stateParams.postId);
app.service('Shared', function() {
  return {   //notsure what to insert here since theres no data field
  };
});