为什么使用服务的两个控制器之间的通信在 angular 中不起作用?

why doesn't communication between two controllers using service work in angular?

index.html

      <body >
      <p ng-controller="MainCtrl as mv">Hello {{mv.name}}!</p>
      <hr>
      <div ng-controller="MainCtrl2 as mv">
      <input type="text" ng-model="name">
      <button ng-click="mv.setN(name)">submit</button><br>
      Hello {{name}}<br>
      Hello {{mv.name}}!

   </div>
  </body> 

app.js :

var app = angular.module('plunker', []);

app.service('myService', function() {
var my = this;
my.name = "original";
});

app.controller('MainCtrl', function(myService) {
var mv = this;
mv.name = myService.name;
});

app.controller('MainCtrl2', function(myService) {
var mv = this;
mv.name = myService.name;

mv.setN = function(a) {
  myService.name = a;

  };
});

为什么服务不能在控制器之间建立通信?我见过一个类似的工厂正在为通信工作的例子。 我的笨蛋: http://plnkr.co/edit/L5uRHPQiXqQV6K7twHul?p=preview

检查工作演示:http://plnkr.co/edit/cTqJImTLdDwPzGsKxN6W?p=preview

始终使用 Object 共享模型。您的服务应更改为:

app.service('myService',function(){
  var my=this;
  my.n = {
    name: 'paven'
  };
  my.setN=function(a){
      my.n.name=a;
      console.log("name change to "+my.n.name);
  }
});