I have the following directive:
MyApp.directive(\'myFilter\', [\'$filter\',\'$rootScope\', function($filter, $rootScope) { var dir = {}; dir.restrict
$watch expects an expression that can be either a function or a string. So, it'll work if you change it to
$watch
scope.$watch('model', function() { ... });
or
scope.$watch(function() { return scope.model; }, function() { ... });
Check out this jsFiddle.