控制器'ngModel',由指令所要求的“...”,无法找到 [英] Controller 'ngModel', required by directive '...', can't be found

查看:253
本文介绍了控制器'ngModel',由指令所要求的“...”,无法找到的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是怎么回事?

下面是我的指令:

  app.directive('submitRequired',函数(objSvc){
    返回{
        要求:'ngModel',
        链接:功能(范围,榆树,ATTRS,CTRL){          // 做一点事
        }
    };
});

下面是使用中的指令的一个例子:

 <输入提交要求的=真正的>< /输入>

下面是实际的错误文本:

 错误:[$编译:ctreq]控制器ngM​​odel,由指令所要求的'submitRequired,无法找到!
http://errors.angularjs.org/1.2.2/$compile/ctreq?p0=ngModel&p1=submitRequired
    在http://www.domain.ca/Scripts/angular/angular.js:78:12
    在getControllers(http://www.domain.ca/Scripts/angular/angular.js:5972:19)
    在nodeLinkFn(http://www.domain.ca/Scripts/angular/angular.js:6139:35)
    在compositeLinkFn(http://www.domain.ca/Scripts/angular/angular.js:5550:15)
    在nodeLinkFn(http://www.domain.ca/Scripts/angular/angular.js:6132:24)
    在compositeLinkFn(http://www.domain.ca/Scripts/angular/angular.js:5550:15)
    在publicLinkFn(http://www.domain.ca/Scripts/angular/angular.js:5458:30)
    在http://www.domain.ca/Scripts/angular/angular.js:1299:27
    在范围内。$ get.Scope。$的eval(http://www.domain.ca/Scripts/angular/angular.js:11634:28)
    。在范围$ get.Scope $申请(http://www.domain.ca/Scripts/angular/angular.js:11734:23)LT;输入提交要求的=真正的> angular.js:9159
(匿名函数)angular.js:9159
$得到angular.js:6751
nodeLinkFn angular.js:6141
compositeLinkFn angular.js:5550
nodeLinkFn angular.js:6132
compositeLinkFn angular.js:5550
publicLinkFn angular.js:5458
(匿名函数)angular.js:1299
。$ get.Scope $ EVAL angular.js:11634
。$ get.Scope $适用angular.js:11734
(匿名函数)angular.js:1297
调用angular.js:3633
doBootstrap angular.js:1295
引导angular.js:1309
angularInit angular.js:1258
(匿名函数)angular.js:20210
触发angular.js:2315
(匿名函数)angular.js:2579
的forEach angular.js:300
事件处理angular.js:2578ar.js:7874


解决方案

如下所述:角NgModelController ,您应该提供<输入与所需的控制器ngModel

 <输入提交要求的=真正的NG-模式=user.Name>< /输入>

What's going on here?

Here is my directive:

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

          // do something
        }
    };
});

Here is an example of the directive in use:

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

Here is the actual error text:

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

解决方案

As described here: Angular NgModelController, you should provide the <input with the required controller ngModel

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

这篇关于控制器'ngModel',由指令所要求的“...”,无法找到的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆