JSFiddle - React, Tailwind, and code Playground

HTML

<div ng-controller="Ctrl as vm">
  <input type="text" ng-model="vm.watched" />
</div>

TypeScript

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

class SomeController {
  constructor($scope) {
    'ngInject'
    this.watched = 1;
    $scope.$watch(() => this.watched, function(nv, ov) {
      alert(ov); //only fires once
    });
  }
}

app.controller('Ctrl', SomeController);
SomeController.$inject = ['$scope']