-1
votes

Modèle en angulaire et dossier. Classe, sous-classe et interface

On et Angular 7 / TypeScript Service J'appelle une méthode d'API gettopposts qui renvoie: xxx pré>

le modèle sur mon backend à partir de laquelle chaque message génère une réponse: P> xxx pré>

Comment traduire gettoppostsmodel sur documentscript? p>

  1. dois-je utiliser une interface ou une classe? li>
  2. Les sous-classes peuvent être utilisées, par exemple, la catégorieModel est une sous-classe de réponse qui est une sous-classe de GetToppostsModel Li> ol>

    note forte> p>

    dans TypeScript Je défini une enveloppe comme suit: p>

    export class Envelope<T> {
    
      result: T[];
    
      constructor(result: T[]) {
        this.result = result;
      }
    
    }
    


0 commentaires

3 Réponses :


1
votes

Vous pouvez le traduire comme xxx

et utiliser le service angulaire http pour l'obtenir: xxx

Lorsque les entités provenaient d'un service de repos (et non créées directement), vous pouvez utiliser des interfaces. Gardez à l'esprit que les documents docscript sont trascripts et de taper les informations sont perdues.

Pour cette raison, la forme de l'objet est la seule chose importante: un objet déclarant que tous les champs et méthodes de votre interface peuvent être traités comme un objet "vrai" implémentant cette interface. Ceci est un peu étrange lorsque vous venez d'une langue fortement dactylographiée comme C #.

Dans cet esprit, le concept de "sous-classe" devient "a la même forme".


0 commentaires

1
votes

Je crois en votre cas, le meilleur serait de traduire l'objet à une interface ioppoststs code>, alors dans votre service, vous feriez quelque chose comme:

interface IInterface {
  myDate: IAnotherInterface
}

interface IAnotherInterface {
  something: myEnum
}

enum myEnum {
  1 = 'One',
  2 = 'Two'
}


0 commentaires

0
votes

TypeScript n'est pas une langue basée sur la classe, il utilise un prototype, vous seriez donc mieux à utiliser l'interface

lire plus ICI P>

Pour vos besoins, vous recherchez quelque chose comme ceci: P>

export interface GetTopPostModel{
  response: Response;
}

export interface Response{
    id: number;
    title: string;
    category: Category
}

export interface Category {
      id: number;
      name: string;
}


0 commentaires