誰かが私に次のTypeScript構文を説明できますか?
{[s: string]: boolean}
これはValidatorFn
Angular2内の戻り型です。特に、配列[s: string]
は何を示していますか?
独自のカスタムValidatorFn
関数を作成しているときに、ブールフィールドの目的は何ですか?以下に違いはないようです。
startsWithZero(control: FormControl): {[s: string]: boolean} {
if (control.value.indexOf('0') !== 0) {
return {'does not start with zero': true};
}
return null;
}
対。
startsWithZero(control: FormControl): {[s: string]: boolean} {
if (control.value.indexOf('0') !== 0) {
return {'does not start with zero': false};
}
return null;
}
Angularのドキュメントはこの点で少し抽象的であり、Googleではあまり見つけることができません。ありがとう!
この例では、型注釈{[s: string]: boolean}
は、キーがastring
で、値がaである辞書を意味しboolean
ます。
このようなタイプは、インデックス可能なタイプと呼ばれます。これは、辞書(別名ハッシュマップ)を記述する典型的な方法です。
Angular 2では、ValidatorFn
は次のように入力されます。
export interface ValidatorFn {
(c: AbstractControl): {
[key: string]: any;
};
}
...を取り、AbstractControl
辞書を返す関数-キーは検証ルールを識別maxLength
します(例:){'requiredLength': maxLength, 'actualLength': v.length}
。値は、ルールが失敗した理由を説明するものであれば何でもかまいません(例:)。である必要はありませんboolean
。
Angular2ソースの例はこちらです。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加