I\'m trying to use $watch for it. The $watch body firing at page initialization (with undefined in newValue) and not firing at \"btnChangeIsLoggedIn\" click.
<
You can pass a function that will return the value of the Service's method. Angular will then compare it to the previous value.
$scope.$watch(function(){
return authService.isLoggedIn;
}, function (newValue) {
alert("isLoggedIn changed to " + newValue);
});
Demo: http://jsfiddle.net/TheSharpieOne/RA2j7/2/
Note: the reason the text field value doesn't update is because the button only changes the service's value, not the $scope's You can also get rid of that initial alert (running of the change function) but comparing the newValue to the oldValue and only executing the statements if they are different.