2014-02-16 4 views
72

여기 무슨 일이 있습니까? 여기에 설명 된 바와 같이지시어 '...'에 필요한 'ngModel'컨트롤러가 없습니다.

Error: [$compile:ctreq] Controller 'ngModel', required by directive 'submitRequired', can't be found! 
http://errors.angularjs.org/1.2.2/$compile/ctreq?p0=ngModel&p1=submitRequired 
    at http://www.domain.ca/Scripts/angular/angular.js:78:12 
    at getControllers (http://www.domain.ca/Scripts/angular/angular.js:5972:19) 
    at nodeLinkFn (http://www.domain.ca/Scripts/angular/angular.js:6139:35) 
    at compositeLinkFn (http://www.domain.ca/Scripts/angular/angular.js:5550:15) 
    at nodeLinkFn (http://www.domain.ca/Scripts/angular/angular.js:6132:24) 
    at compositeLinkFn (http://www.domain.ca/Scripts/angular/angular.js:5550:15) 
    at publicLinkFn (http://www.domain.ca/Scripts/angular/angular.js:5458:30) 
    at http://www.domain.ca/Scripts/angular/angular.js:1299:27 
    at Scope.$get.Scope.$eval (http://www.domain.ca/Scripts/angular/angular.js:11634:28) 
    at Scope.$get.Scope.$apply (http://www.domain.ca/Scripts/angular/angular.js:11734:23) <input submit-required="true"> angular.js:9159 
(anonymous function) angular.js:9159 
$get angular.js:6751 
nodeLinkFn angular.js:6141 
compositeLinkFn angular.js:5550 
nodeLinkFn angular.js:6132 
compositeLinkFn angular.js:5550 
publicLinkFn angular.js:5458 
(anonymous function) angular.js:1299 
$get.Scope.$eval angular.js:11634 
$get.Scope.$apply angular.js:11734 
(anonymous function) angular.js:1297 
invoke angular.js:3633 
doBootstrap angular.js:1295 
bootstrap angular.js:1309 
angularInit angular.js:1258 
(anonymous function) angular.js:20210 
trigger angular.js:2315 
(anonymous function) angular.js:2579 
forEach angular.js:300 
eventHandler angular.js:2578ar.js:7874 

답변

113

:

여기
<input submit-required="true"></input> 

실제 오류 텍스트입니다 : 여기

app.directive('submitRequired', function (objSvc) { 
    return { 
     require: 'ngModel', 
     link: function (scope, elm, attrs, ctrl) { 

      // do something 
     } 
    }; 
}); 

가 사용 지침의 예입니다 : 여기

내 지시어입니다 : Angular NgModelController 인 경우 <input에 필수 컨트롤러 0123을 제공해야합니다. 이 문제에

<input submit-required="true" ng-model="user.Name"></input> 
+1

완벽합니다. 알겠습니다! 나는 이것을 답으로 표시 할 것이다. 후속 질문이 있습니다. 다른 질문을 게시하거나 원본을 변경해야합니까? –

+0

여기에 후속 조치가 있습니다 : http://stackoverflow.com/questions/21807929/controller-ngmodel-required-by-directive-cant-be-found –

+2

실수로'ng-models'를 타이핑하여이 오류가 발생했습니다. – chovy

5

한 가지 가능한 솔루션은 ng-model 속성이이 지침을 사용하는 데 필요합니다.

따라서 'ng-model'속성을 추가하면 문제를 해결할 수 있습니다.

<input submit-required="true" ng-model="user.Name"></input> 
관련 문제