Le contrôleur ‘ngModel’, requirejs par la directive ‘…’, est introuvable

Que se passe t-il ici?

Voici ma directive:

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

Voici un exemple de la directive utilisée:

  

Voici le texte d’erreur réel:

 Error: [$comstack:ctreq] Controller 'ngModel', required by directive 'submitRequired', can't be found! http://errors.angularjs.org/1.2.2/$comstack/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)  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 sortinggger angular.js:2315 (anonymous function) angular.js:2579 forEach angular.js:300 eventHandler angular.js:2578ar.js:7874 

Comme décrit ici: NgModelController angular , vous devez fournir l’ avec le contrôleur requirejs ngModel

  

Une solution possible à ce problème est que l’atsortingbut ng-model est requirejs pour utiliser cette directive.

L’ajout de l’atsortingbut ‘ng-model’ peut donc résoudre le problème.

  

Vous pouvez également supprimer la ligne

  require: 'ngModel', 

si vous n’avez pas besoin de ngModel dans cette directive. La suppression de ngModel vous permettra de créer une directive sans cette erreur ngModel .

J’ai fait face à la même erreur, dans mon cas, j’ai manqué-épelé directive ng-modèle quelque chose comme “ng-moel”

Mauvaise: ng-moel = “user.name” Droite: ng-model = “user.name”

entrer la description de l'image ici