AngularJS triggert und überwacht die Änderung des Objektwerts im Betrieb von der Steuerung

Ich versuche, auf Änderungen in einem Dienst von einem Controller zu achten. Ich habe verschiedene Dinge ausprobiert, basierend auf vielen qns hier auf stackoverflow, aber ich war nicht in der Lage, es zum Laufen zu bringen.

html:

<div ng-app="myApp">
    <div ng-controller="MyCtrl">
        <div ng-click="setFTag()">Click Me</div>
    </div> 
</div>

Javascript:

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

myApp.service('myService', function() {
    this.tags = {
        a: true,
        b: true
    };


    this.setFalseTag = function() {
        alert("Within myService->setFalseTag");
        this.tags.a = false;
        this.tags.b = false;

        //how do I get the watch in MyCtrl to be triggered?
    };
});


myApp.controller('MyCtrl', function($scope, myService) {

    $scope.setFTag = function() {
        alert("Within MyCtrl->setFTag");
        myService.setFalseTag();
    };        

    $scope.$watch(myService.tags, function(newVal, oldVal) {
        alert("Inside watch");
        console.log(newVal);
        console.log(oldVal);
    }, true);

});

Wie kann ich die Uhr im Controller auslösen lassen?

jsfiddle

Antworten auf die Frage(1)

Ihre Antwort auf die Frage