в связи с изучением angular возник такой же вопрос, сам на него и отвечу
"as syntax" - по сути просто сахар для вот такого варианта
<div ng-controller="MyCtrl as my"> </div>
function MyCtrl($scope){
$scope.my = this;
this.val = "";
}
чтобы в этом убедиться можно при запуске контроллера вывести в консоль $scope и обнаружить там тот самый
my в качестве свойства scope
отсюда следует, что наблюдать нам надо не за переменной, а за свойством этого самого my
то есть, чтобы наблюдать за this.val - нужно определить такой watcher - listener
$scope.$watch('my.val', function(newVal){
console.log(newVal);
});
Надеюсь, что кому-то помог разобраться