[解決済み] ディレクティブ@Inputを必須にする
2023-05-02 22:02:30
質問
AngularJsでは、ディレクティブの属性を必須にすることができました。Angularで@Inputを使用してどのようにそれを行うのですか?ドキュメントには記載されていません。
例えば
@Component({
selector: 'my-dir',
template: '<div></div>'
})
export class MyComponent {
@Input() a: number; // Make this a required attribute. Throw an exception if it doesn't exist.
@Input() b: number;
}
どのように解決するのですか?
チェックイン
ngOnInit()
(コンストラクタ実行時には入力はまだ設定されていません) 属性に値があるかどうかを確認します。
Component({
selector: 'my-dir',
template: '<div></div>'
})
export class MyComponent implements OnInit, OnChanges {
@Input() a:number; // Make this a required attribute. Throw an exception if it doesnt exist
@Input() b:number;
constructor(){
}
ngOnInit() {
this.checkRequiredFields(this.a);
}
ngOnChanges(changes) {
this.checkRequiredFields(this.a);
}
checkRequiredFields(input) {
if(input === null) {
throw new Error("Attribute 'a' is required");
}
}
}
また
ngOnChanges(changes) {...}
に値が設定されていない場合は
null
. また
https://angular.io/docs/ts/latest/api/core/OnChanges-interface.html
関連
-
[解決済み] AngularのngDefaultControlとは何ですか?
-
[解決済み] ngModel' は 'input' の既知のプロパティではないため、バインドできません。
-
[解決済み] Angular 2におけるEventEmitter.next()とEventEmitter.emit()の相違点
-
[解決済み] Angular Materialでのデフォルトのソート - ヘッダーのソート
-
[解決済み] Angular 2のFormGroupからすべての検証エラーを取得する
-
[解決済み] 遅延のあるobservableを作成するには?
-
[解決済み] angularで「タイプ 'EventEmitter' は一般的ではありません」ERROR。
-
[解決済み] 角度の2つのスイッチケース値
-
[解決済み] コンポーネントではなくクラスにサービスをインジェクトする方法
-
[解決済み] ng-forOf」は既知のネイティブプロパティではないため、バインドできない [重複] 。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] formControlNameとFormControlの違いは何ですか?
-
[解決済み] 角度2 ngfor 最初、最後、インデックスループ
-
[解決済み] Angular 4+ ngOnDestroy() サービス中 - observableを破壊する
-
[解決済み] ng2 - ng-containerタグとng-templateタグの違い
-
[解決済み] Angular v5からAngular v6にプロジェクトをアップグレードしたい。
-
[解決済み] AngularでFormGroupに動的にaddControlを追加する
-
[解決済み] 子ルートから親ルートに移動するにはどうしたらいいですか?
-
[解決済み] の@ViewChildのreadパラメータは何ですか?
-
[解決済み] 角度換算2
-
[解決済み] Angular 2+でspec.tsファイルなしでComponentを生成する。