Angularjs obserwują zmiany w zasięgu rodzica

Piszę dyrektywę i muszę obserwować, jak rodzic może zmienić. Nie jestem pewien, czy robię to w preferowany sposób, ale nie działa z następującym kodem:

  scope.$watch(scope.$parent.data.overlaytype,function() {
    console.log("Change Detected...");
  })

To zalogowało się do obciążenia okna, ale nigdy więcej, nawet gdy zmienił się typ nakładki.

Jak mogę oglądaćoverlaytype dla odmiany?

Edytuj: tutaj jest cała dyrektywa. Nie do końca pewien, dlaczego dostaję zakres dziecięcy

/* Center overlays vertically directive */
aw.directive('center',function($window){
  return {
    restrict : "A",
    link : function(scope,elem,attrs){

      var resize = function() {
        var winHeight = $window.innerHeight - 90,
            overlayHeight = elem[0].offsetHeight,
            diff = (winHeight - overlayHeight) / 2;
            elem.css('top',diff+"px");
      };

      var watchForChange = function() {
        return scope.$parent.data.overlaytype;
      }
      scope.$watch(watchForChange,function() {
        $window.setTimeout(function() {
          resize();
        }, 1);
      })

      angular.element($window).bind('resize',function(e){
        console.log(scope.$parent.data.overlaytype)
        resize();
      });
    }
  };
});

questionAnswers(5)

yourAnswerToTheQuestion