2017-08-11 3 views
2

特定の値に制限したいパラメータを持つ複数のコンポーネントがあります。例えば(擬似コードで)両成分でコンポーネント間でパラメータ値の制限を適用する

class MyFirstComponent { 
    @Input() myParameter: 'foo'|'bar'|'baz'; 
} 

class MySecondComponent { 
    @Input() myParameter: 'foo'|'bar'|'baz'; 
} 

@Input() myParameterは、同じ制限された値を受け入れるべきです。各コンポーネントで許可された値をコピーする代わりに、制限を抽象化したいと思います。どうすればいい?私はそれがenumsまたはinterfaceを必要とすると仮定しますが、どのアプローチを実装するかわかりません。

答えて

2

タイプを使用できます。それをどこか別のファイルに定義してエクスポートしてください。これはAngularよりもTypeScriptのほうが多いです。

export type MyType = 'foo' | 'bar' | 'baz' 

次に、使用するファイルにインポートします。

import {MyType} from './path/to/file' 

そして、新しく作成されたタイプを使用します。

@Input() myParameter: MyType 
+0

MYPATHを?それはどこから来ましたか? :) –

+0

それはタイプミスだと思う:) MyTypeはそこにあるはずだ – Dekel

+0

うん、固定。きりっとした目! –

関連する問題