ngModelController の例の Angular ドキュメントでは、javascript ファイルに次のように記載されています。
angular.module('customControl', []).
directive('contenteditable', function() {
return {
restrict: 'A', // only activate on element attribute
require: '?ngModel', // get a hold of NgModelController
...
「ngModel」が NgModelController を指すのはなぜですか? 「require: '?ngModelController」ではないのはなぜですか。命名の観点からは、その方が適切に思えます。
また、ディレクティブのスコープ内でモデルの変更を監視するために $watch() 関数を使用するのとは対照的に、$setViewValue() 関数を使用してモデルを更新することの違いは何ですか?
ありがとう!