null
ディレクティブがルート インジェクターに存在しないため、必要です。これらのステートメントがないと、存在しないディレクティブを挿入しようとすると、「不明なタイプ」インジェクター エラーでプログラムがクラッシュします。
Angular がディレクティブを作成する DOM をウォークすると、それらは DOM ウォーク中に作成される子インジェクターで使用可能になります。例えば
<div ng-model="foo" my-directive>...</div>
MyDirective ディレクティブでは、他のディレクティブを挿入できます。
class MyDirective {
MyDirective(NgModel model) {
if (model.viewValue == "party") dance();
}
}
などの任意のディレクティブに対してこれを行うことができますがng-click
、ng-class
ほとんどのディレクティブには有用なパブリック インターフェイスがありません。しかし、null
値は便利です:
class MyDirective {
MyDirective(NgRepeatDirective repeat) {
if (repeat != null) {
// this element is being repeated
} else {
// this element is not being repeated.
}
}
}