1.2APIガイドTIPSngモジュールディレクティブaforminputinput[checkbox]input[email]input[number]input[radio]input[text]input[url]ngAppngBindngBindHtmlngBindTemplatengBlurngChangengCheckedngClassngClassEvenngClassOddngClickngCloakngControllerngCopyngCspngCutngDblclickngDisabledngFocusngFormngHidengHrefngIfngIncludengInitngKeydownngKeypressngKeyupngListngModelngMousedownngMouseenterngMouseleavengMousemovengMouseoverngMouseupngNonBindablengOpenngPastengPluralizengReadonlyngRepeatngSelectedngShowngSrcngSrcsetngStylengSubmitngSwitchngTranscludengValuescriptselecttextareaフィルターcurrencydatefilterjsonlimitTolowercasenumberorderByuppercaseサービス$anchorScroll$animate$animateProvider$cacheFactory$compile$compileProvider$controller$controllerProvider$document$exceptionHandler$filter$filterProvider$http$httpBackend$interpolate$interpolateProvider$interval$locale$location$locationProvider$log$logProvider$parse$parseProvider$q$rootElement$rootScope$rootScopeProvider$sce$sceProvider$sceDelegate$sceDelegateProvider$templateCache$timeout$window型angular.Moduleng.$compile.directive.Attributesng.$rootScope.Scopeform.FormControllerngModel.NgModelControllerグローバルAPIangular.bindangular.bootstrapangular.copyangular.elementangular.equalsangular.extendangular.forEachangular.fromJsonangular.identityangular.injectorangular.isArrayangular.isDateangular.isDefinedangular.isElementangular.isFunctionangular.isNumberangular.isObjectangular.isStringangular.isUndefinedangular.lowercaseangular.mockangular.moduleangular.noopangular.toJsonangular.uppercaseangular.versionngMockモジュールサービス$exceptionHandler$exceptionHandlerProvider$httpBackend$interval$log$timeoutグローバルAPIangular.mock.dumpangular.mock.injectangular.mock.moduleangular.mock.TzDateAUTOモジュールサービス$injector$providengAnimateモジュールサービス$animate$animateProviderngCookiesモジュールサービス$cookies$cookieStorengMockE2Eモジュールサービス$httpBackendngResourceモジュールサービス$resourcengRouteモジュールサービス$route$routeProvider$routeParamsディレクティブngViewngSanitizeモジュールフィルターlinkyサービス$sanitizengTouchモジュールディレクティブngClickngSwipeLeftngSwipeRightサービス$swipengModel.NgModelControllerhttp://docs.angularjs.org/api/ng.directive:ngModel.NgModelControllerNgModelControllerはng-modelディレクティブのためのAPIを提供します。このコントローラーはデータバインディング、検証、CSS更新、値フォーマットと解析のためのサービスを含みます。これには、DOM描画やDOMイベントのリッスンのロジックを含まないという意図があります。そのようなDOMに関するロジックは、データバインディングのためにNgModelControllerを使用する他のディレクティブから提供されるべきです。下記は、入力要素をカスタマイズしてデータバインディングを実装するNgModelControllerの使用方法の例になります。望む結果を得るために、異なるディレクティブ(contenteditable、ng-model、required)をどのように共存させているかを確認してください。contenteditableはHTML5の属性であり、ブラウザにこの要素の内容がユーザーによって編集されるように指示します。これは古いブラウザでは動作しません。strip-br属性が提供されていたら、これを取り除きます。strip-br属性が提供されていたら、これを取り除きます。ngModelをrequire出来ないことに注意してください。ディレクティブがモデル値を更新した際の、外部スコープ上のngModel.$setViewValue()は、値を更新しません。下記はこの状況を再現した例になります。'input'と'div'は同じモデルに割り当てられているように思えますが、実際には同期されないことを確認してください。ビューの更新が必要な際に呼び出します。ng-modelディレクティブを使用する際に、このメソッドが実装される事が期待されます。手つかず(pristine)状態を入力要素に設定します。このメソッドを呼び出すことで、'ng-dirty'クラスを削除することができ、それによって入力要素が、手つかず(pristine)状態(ng-pristineクラス)になります。isValid)「正当/不正」の検証状態を変更し、入力要素のその状態が変更された場合はフォームに通知します。(例えば、もし既に与えられたバリデーターが「不正」としてマークされている場合、フォームには通知されません。)このメソッドはバリデーターから呼び出されるべきです。(parserやformatter関数)validationErrorKey型:stringバリデーターの名前です。$error[validationErrorKey]=isValidを割り当てます。validationErrorKeyはキャメルケースにすべきで、クラス名はダッシュ(-)ケースに変換して取得します。{{someForm.someControl.$error.myError}}として、紐付けられます。isValid型:boolean現在の状態が、正当(true)または不正(false)なのかを指定します。$setViewValue(value)ビューから値を読み取ります。このメソッドは、DOMイベントハンドラ内から呼び出されるべきです。inputまたはselectディレクティブがこれを呼び出します。$modelValueと実際のモデルのパスを更新します。最後に、全ての登録されている変更リスナーを呼び出します。ビュー内の実際の文字列の値です。入力要素が紐付けられたモデルの値です。入力要素がDOMから値を読み込む度に、パイプラインとして実行するための関数の配列です。各functionは順に値を渡され、次へ次へと呼び出されます。検証時と同様に、サニタイズ/変換が値に対して行われます。不正な値であればundefinedを返します。$formattersモデルの値が変更される度に、パイプラインとして実行するための関数の配列です。各fncitonは順に値を渡され、次へ次へと呼び出されます。表示するために、値のフォーマット/変換が入力要素と検証内で使用されます。全てのエラーをキー付きで格納しているオブジェクトハッシュです。入力要素にまだユーザーが触れて無ければ(手つかずであれば)、trueになります。入力要素にユーザーが触れていれば、trueになります。エラーが無ければ、trueになります。入力要素に少なくとも1つ以上エラーがあればtrueになります。3.0.このページは、ページトップのリンク先のAngularJS公式ドキュメント内のページを翻訳した内容を基に構成されています。下記の項目を確認し、必要に応じて公式のドキュメントをご確認ください。@tomofまで教えていただければ幸いです。AngularJSの更新頻度が高いため、元のコンテンツと比べてドキュメントの情報が古くなっている可能性があります。"訳注:"などの断わりを入れた上で、日本人向けの情報やより分かり易くするための追記を行っている事があります。