angular2
プロジェクトでカスタムインターフェイスとエイリアスを使用します。例えば、私は製品のリストを示しコンポーネントを実装していますので、私はProduct
インタフェースを定義する必要があります。インターフェイスと型エイリアスを配置する場所
export interface Product {
id: number;
name: string;
price: number;
}
は今、私はへのインターフェイスを置く場所が必要です。私はそれがコンポーネントフォルダ内にあるべきだと思っています。私もソースの中を覗き込んでおり、角度はすべてのインターフェイスをfacade
フォルダに入れているようです。
components
|
|--- product-list
|
|--- facade
| |
| |--- product.ts
|
|--- product-list.component.ts
|--- product-list.component.html
|--- product-list.component.css
インタフェースは次のように使用されます:
export class RowComponent implements OnInit {
@Input() product: Product;
@Output() productRemoved: EventEmitter<ProductRemoved> = new EventEmitter();
constructor() {
}
これは実行可能なアプローチですだから私は、次のような構造になってしまいましたか?問題の案件に固有のスタイルガイドがありますか?
このインターフェイスはどのくらい正確に使用されていますか?それはいくつかのクラスによって実装されていますか? – estus
'製品とは?それが何らかのクラスのインスタンスであれば、 'interface'は冗長かもしれません。 'product-list'以外のコンポーネントで使用されている場合は、 'shared'に入れるのが妥当です。そうでない場合、 'product-list.component.ts'の中にあるかもしれません。 – estus
@estus、yes、インターフェイスは、オブジェクトリテラルで作成されたオブジェクトを検証するために使用されます。しかし、3つのプロパティを持つシンプルなオブジェクトで、クラスを作成したくありません。 –