1

요구 사항이있는 지침이 있습니다. 이제 필요한 컨트롤러 인스턴스와 지시문의 컨트롤러를 링크 함수에서 가져 오려고합니다. 어떻게 가능합니까? 'require'를 설정하면 링크 함수의 네 번째 매개 변수에는 필요한 컨트롤러 만 포함됩니다. 요구 사항을 설정하지 않으면 링크 함수의 네 번째 매개 변수에 지시문의 컨트롤러가 포함됩니다. 둘 다 얻는 방법?AngularJS - "require"지시문에서 지시문 제어기를 얻는 방법

답변

2

당신은 다음 4 인수가 필요한 지시어와 같은 순서 컨트롤러의 배열 (될 것입니다. 모두 NgModelController 및 액세스를 필요로 각도의 ngModel 지침의 소스 코드에서

예 (모두를 필요로한다 포장 양식의 FormController) :

var ngModelDirective = function() { 
    return { 
     require: ['ngModel', '^?form'], 
     controller: NgModelController, 
     link: function (scope, elem, attrs, ctrls) { 
      ... 
      var modelCtrl = ctrls[0], 
       formCtrl = ctrls[1] || nullFormCtrl; 
      ...