Angular.js: 显示不准确原因的错误:错误:[$compile:ctreq] 指令“ngClick”所需的控制器“ngModel”无法找到!

创建于 2014-04-09  ·  3评论  ·  资料来源: angular/angular.js

这个简短的小提琴http://jsfiddle.net/x3EtD/7/显示控制台中的错误,但它们表明一个不存在的问题。 也就是说,'ngClick' 指令需要 'ngModel' 而它不需要。 角度填充此错误消息的空白的方式似乎存在错误。

这种情况下的问题是,已经为所有输入元素创建了一个需要 ngModel 的自定义指令,但示例中的复选框没有。 具有讽刺意味的是,它实际上并没有破坏任何功能,而是在控制台中抛出误导性错误。 将requires: 'ngModel'更改requires: '?ngModel'可以解决小提琴中的错误。

追踪这一点很困难,因为这些错误明确指出了我使用 ng-click 的问题,而不是真正的罪魁祸首。

我怀疑错误应该说Error: [$compile:ctreq] Controller 'ngModel', required by directive 'input', can't be found!

操作系统:Ubuntu 12.04
浏览器:Chromium 33、Firefox 28
测试的 Angular 版本:1.2.1、1.2.15

low inconvenient bug

所有3条评论

我刚刚用1.2.16测试了这个,问题也出现在那里,很有趣!

您希望为输入指令抛出错误,但它引用了 ngClick。 很奇怪。

我会调查这个。

好像和#7059很像

我想我知道是什么导致了这个,如果没有人打败我,我会在几个小时内解决这个问题。

此页面是否有帮助?
0 / 5 - 0 等级