만약 angularjs 디렉티브가 존재하고 링크함수가 있다고 가정했을때 내부에 위치한 $watch를 통하여 값을 변경하는 경우 동작하지 않는 경우가 발생할 수 있습니다.

이 경우 $watch 내부의 모델값이 정상적으로 업데이트 되지 않는데 이 경우 setTimeout 또는 $timeout을 사용하여 해결될 수 있습니다.

myApp.directive('webIsFree', function() {
  return {
    link: function() {
      setTimeout(function() {
        // 이곳에 해당 코드 추가
      }, 0);
    }
  }
});

이 방법으로 해결될 수 있습니다.