Angular.js: 不正確な原因を示すエラー:エラー:[$ compile:ctreq]ディレクティブ 'ngClick'に必要なコントローラー 'ngModel'が見つかりません!

作成日 2014年04月09日  ·  3コメント  ·  ソース: angular/angular.js

この短いフィドルhttp://jsfiddle.net/x3EtD/7/はコンソールにエラーを示していますが、存在しない問題を示しています。 つまり、「ngClick」ディレクティブには「ngModel」が必要ですが、必要ありません。 このエラーメッセージの空白をAngularが埋める方法にバグがあるようです。

この場合の問題は、すべての入力要素に対してngModelを必要とするカスタムディレクティブが作成されているが、例のチェックボックスにはそれがないことです。 皮肉なことに、実際には機能が損なわれることはありませんが、コンソールで誤解を招くエラーが発生します。 requires: 'ngModel'requires: '?ngModel'に変更すると、フィドルのエラーが処理されます。

エラーが本当の原因ではなくng-clickの使用に関する問題を明確に示していたため、これを追跡することは困難でした。

エラーはError: [$compile:ctreq] Controller 'ngModel', required by directive 'input', can't be found!と表示されていると思います

OS: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 評価