現在、角度とタイプスクリプトを使用していますが、コンポーネント@Input
に特定のタイプをバインドすることが可能かどうかを知りたいですか?特定のタイプの角度コンポーネントをバインドする
例
@Component({selector: 'foobar'})
export class FooComponent {
@Input() foo: number;
@Input() bar: boolean;
}
<foobar foo="123" bar="true"></foobar>
成分が結合している場合、foo
とbar
両方がstring
です。 angleは、指定された型を強制する方法を提供しますか?
私はこれを試してみましたが、私はそれを好きではない... (それは非常にエレガントで汚れていないようです)
@Component({selector: 'foobar'})
export class FooComponent {
foo: number;
bar: boolean;
@Input('foo') set _foo(value: string) {
this.foo = Number(value);
}
@Input('bar') set _bar(value: string) {
this.bar = value === 'true';
}
}
作用することができる角度の入力内の何かがあった場合、それはいいだろう拘束力のある代議員として;例:
@Input('foo', (value: string) => Number(value)) foo: number = 123;
typescript列挙型のように、組み込み型以外の型を使用する場合はどうなりますか? – series0ne
@ series0ne他のコンポーネントのプロパティをバインドする場合にのみ動作すると思います。 – Dinistro
@ series0neこれは問題ではありません。私はそれをテストしていませんが、コンポーネント内の列挙型をインポート(または宣言)すると、テンプレートでそれを使用できるはずです。 – Wernerson