Niedawno oglądałem samouczek na Angular 2 z TypeScript, ale nie wiem, kiedy używać interfejsu i kiedy używać modelu do przechowywania struktur danych.Kiedy używać interfejsu i modelu w TypeScript/Angular2
Przykład interfejsu:
export interface IProduct {
ProductNumber: number;
ProductName: string;
ProductDescription: string;
}
Przykład Model:
export class Product {
constructor(
public ProductNumber: number,
public ProductName: string,
public ProductDescription: string
){}
}
Chcę załadować dane JSON z URL i powiązania z interfejsem/Model. Czasami chcę jednego obiektu danych, innym razem chcę trzymać i tablicy obiektu.
Których należy użyć i dlaczego?
Używaj klasy, gdy potrzebujesz niestandardowego init logicznego, w przeciwnym razie ** zawsze ** korzystasz z interfejsu, ponieważ jest on dostępny tylko w czasie kompilacji. Interfejs typu maszynopis nie jest skompilowany do javascript, ponieważ nie istnieje w javascript. – Dieterg
Należy pamiętać, że interfejsy NIE będą działały z wtryskiem zależności w Angular 2. Tutaj będziesz musiał użyć klas. – jlang