0

요소를 클릭하면 모델을 변경하려는 지시문을 작성하려고합니다. 체크 박스의 일부 종류의 ... 여기에 내가 모든 확인란의 NG 모델 속성이 포함 된 개체를 보면서 부모 컨트롤러에서이 체크 박스의 그룹을 볼 $ 시도보다 내 코드격리 된 범위 및 바인딩 문제.

mainApp.directive('subCategory', function(){ 
    return{ 
     restrict: 'A', 
     scope: { 
      model: '=?ngModel' 
     }, 
     link : function(scope, element){ 

      scope.model = true; 
      element.click(function() { 

      if (element.hasClass('active')) { 
       element.removeClass('active'); 
       scope.model = false; 
      } else { 
       element.addClass('active'); 
       scope.model = true; 
      } 

     }); 
     } 
    } 
}); 

입니다.

mainApp.controller('Filter',['$scope', function ($scope) { 
$scope.data = {} 

$scope.$watchCollection('data', function(newNames, oldNames) { 
    console.log('changed'); 
}); 

}]); 

내가 scope.model = true;에 의해 속성을 정의 할 때 작동 및 작품을보고,하지만 난 몇 가지 이유에서 클릭에 scope.model을 변경할 때 data 객체에 영향을주지 않고 시계가 작동하지 않습니다. 누군가 내게 이유를 말해 줄 수 있습니까?
감사합니다. 당신의 지침 변경에

+1

를 선언 할 때입니다 기능을 연결하는 통과 할 때 위에서 언급 한 바와 같이

scope: { model: '=ngModel' }, 

으로 속성으로 [ngModelController] (https://docs.angularjs.org/api/ng/type/ngModel.NgModelController)를 인스턴스화합니다. 이 컨트롤러는 맞춤 지침과 싸울 가능성이 큽니다. 'ng-'접두어의 사용은 핵심 지시어를 위해 예약되어 있습니다. 자세한 내용은 [AngularJS Wiki - 우수 사례] (https://github.com/angular/angular.js/wiki/Best-Practices)를 참조하십시오. – georgeawg

+0

감사합니다. @georgeawg! 당신 말이 맞아요! – Adoratus

답변

0

scope: { 
     model: '=?ngModel' 
    }, 

당신은`NG-model` ngModel 당신이 사용

require:'?ngModel'