javascript - Sharing a variable between controllers through a service -
from understand, since service variable being shared object, object gets loaded service controller 1 should plainly seen controller2 without need $watches or listeners or anything. wrong? how can work?
i have fixed plunk: http://plnkr.co/edit/jnbmsjzdj6shosk4kpnh.
your service has object put model on $scope ($scope.item). far good. however, update service object new object reference ($scope.thisobject) $scope.item , myservice.myobject referencing different objects.
you should update object properties. see plunk details.
so instead of writing:
app.factory('myservice',function(){ var service = { myobject:{}, changeproperty: function(newproperty){ this.myobject = newproperty; } }; return service; });
you should use:
app.factory('myservice',function(){ var service = { myobject:{}, changeproperty: function(newproperty){ this.myobject.text = newproperty.text; } }; return service; });
hope helps.
Comments
Post a Comment