$watch ngModel from inside directive using isolate scope
You’ll need to watch a function that returns the $modelValue you’re watching. The following code shows a basic example: app.directive(‘myDirective’, function (){ return { require: ‘ngModel’, link: function(scope, element, attrs, ngModel) { scope.$watch(function () { return ngModel.$modelValue; }, function(newValue) { console.log(newValue); }); } }; }); Here’s a plunker of the same idea in action.