首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >找不到指令'...‘所需的控制器'ngModel’

找不到指令'...‘所需的控制器'ngModel’
EN

Stack Overflow用户
提问于 2014-02-16 13:49:23
回答 3查看 103.1K关注 0票数 88

这里发生了什么事?

以下是我的指令:

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
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-02-16 13:54:03

如下所述:Angular NgModelController,您应该为<input提供所需的控制器ngModel

<input submit-required="true" ng-model="user.Name"></input>
票数 130
EN

Stack Overflow用户

发布于 2016-01-18 11:55:47

此问题的一个可能解决方案是需要ng-model属性才能使用该指令。

因此,添加“ng-model”属性可以解决此问题。

<input submit-required="true" ng-model="user.Name"></input>
票数 8
EN

Stack Overflow用户

发布于 2018-08-10 01:36:10

您还可以删除该行

  require: 'ngModel',

如果您不需要在此指令中使用ngModel。删除ngModel将允许您在不出现ngModel错误的情况下执行指令。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21807834

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档