Skip to content

Optionalデコレータの型につい て #8

Answered by lacolaco
ver-1000000 asked this question in Questions
Discussion options

You must be logged in to vote

まずひとつの方法は、 @Inject() を使う方法ですね。引数の型アノテーションとインジェクショントークンを分けることで | null の指定ができるようになります。

constructor(@Optional() @Self() @Inject(NgControl) private ngControl: NgControl | null)

もうひとつの方法(こっちがおすすめ)は、Angular v14から追加された inject() 関数を使う方法です。こちらは optional フラグをオンにすれば自動的に | null として推論されます。

class Foo {
  private ngControl = inject(NgControl, { optional: true, self: true }); // 自動的に NgControl | null になる
}

https://angular.jp/api/core/inject

Replies: 1 comment 1 reply

Comment options

You must be logged in to vote
1 reply
@ver-1000000
Comment options

Answer selected by ver-1000000
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
2 participants