반응형
'…'지시문에 필요한 컨트롤러 'ngModel'을 찾을 수 없습니다.
여기서 무슨 일이 일어나고 있습니까?
내 지시는 다음과 같습니다.
app.directive('submitRequired', function (objSvc) {
return {
require: 'ngModel',
link: function (scope, elm, attrs, ctrl) {
// do something
}
};
});
다음은 사용중인 지시문의 예입니다.
<input submit-required="true"></input>
실제 오류 텍스트는 다음과 같습니다.
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
여기에 설명 된대로 : Angular NgModelController , <input
필요한 컨트롤러를 제공해야합니다.ngModel
<input submit-required="true" ng-model="user.Name"></input>
이 문제에 대한 한 가지 가능한 해결책 ng-model
은 해당 지시문을 사용하려면 속성이 필요하다는 것입니다.
따라서 'ng-model'속성을 추가하면 문제를 해결할 수 있습니다.
<input submit-required="true" ng-model="user.Name"></input>
줄을 제거 할 수도 있습니다.
require: 'ngModel',
ngModel
이 지시문에 필요하지 않은 경우 . 제거 ngModel
하면 해당 ngModel
오류 없이 지시문을 만들 수 있습니다 .
같은 오류가 발생했습니다. 제 경우에는 "ng-moel"과 같은 ng-model 지시문의 철자를 잘못 입력했습니다.
Wrong one: ng-moel="user.name" Right one: ng-model="user.name"
참고URL : https://stackoverflow.com/questions/21807834/controller-ngmodel-required-by-directive-cant-be-found
반응형
'program story' 카테고리의 다른 글
JUnit 테스트는 Eclipse에서 통과하지만 Maven Surefire에서는 실패합니다. (0) | 2020.09.19 |
---|---|
Html.Label, Html.LabelFor 및 Html.LabelForModel의 차이점은 무엇입니까? (0) | 2020.09.19 |
Godaddy에서 발급 한 인증서 사용시 "공개 키 인증서와 개인 키가 일치하지 않습니다." (0) | 2020.09.19 |
X-Frame-Options Allow-From 여러 도메인 (0) | 2020.09.19 |
YouTube API 버전 3으로 동영상 길이를 어떻게 얻나요? (0) | 2020.09.19 |