The issue is that you're overwriting your 'private' i variable, instead of 
updating it.

http://jsfiddle.net/xye4A/7/

instead of this:

i = {name: 'y'}

do this:

i.name = "y"

Always be careful when you're doing clever stuff in closures.

On Wednesday, December 25, 2013 12:03:36 PM UTC-8, Ronen Tidhar wrote:
>
> Hi,
> I am trying to figure out how to solve this issue.
> I tried referencing the service.
> I tried using $scope.$watch.
> nothing is working for me.
> 10x in advanced for your help.
> TD
>
> I put the sample code here: http://jsfiddle.net/xye4A/5/
>
> <div ng-app="ExampleApplication">
>     <div ng-controller="InstanceController">    
>         <div ng-click="click()">click</div>
>         <div>|{{i.name}}|</div>
>    </div>
> </div>
>
> var ExampleApplication = angular.module('ExampleApplication', []);
>
> ExampleApplication.service('instancedService', [instancedService]);
>                            
> function instancedService(){
>     var i = {name: "x"};
>     var service = { i: i, click: click};
>     return service;
>
>     function click() {
>         i = {name: "y"};
>         alert(i.name);
>     }
> }
>
> ExampleApplication.controller('InstanceController', function($scope, 
> instancedService){
>         var vm = $scope;
>         vm.i = instancedService.i;
>                                   
>         vm.click = function () {
>             instancedService.click();
>             alert(instancedService.i.name);
>         };
>                                   
>       $scope.$watch(
>         function(){ return instancedService.i },
>         function(newVal) { $scope.i = newVal; });
> });
>

-- 
You received this message because you are subscribed to the Google Groups 
"AngularJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/angular.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to