AngularJS의 jqLite를 사용하여 scope내의 콘트롤러를 찾는 방법은 무엇일까요?


먼저 원하는 컨트롤러가 사용된 엘리먼트를 찾습니다. 만약 아래와 같은 코드가 있다면..

<div>
  <input id="myInput" ng-model="myCtrl.sitename='webisfree'" />
</div>

위와 같은 코드의 경우 아래 방법으로 찾을 수 있습니다.

var myCtrl = angular.element('#myInput').scope().myCtrl;

간단하게 해당 컨트롤러를 찾았습니다. 이제 myCtrl을 사용하여 모델값 등을 조작할 수 있습니다.


! 참고사항
스코프 내부에서 $parent 또는 $$childHead 등을 사용하여 원하는 controller를 찾을 수 있겠지만 가급적 jqLite에서 바로 해당 엘리먼트를 찾아서 스코프의 컨트롤러를 찾는게 좋을 것입니다.