Partage
  • Partager sur Facebook
  • Partager sur Twitter

[ANGULAR 6 ] Observable et Interface

Sujet résolu
    11 juillet 2018 à 14:25:39

    Bonjour,

    Je travaille sur un projet en Angular 6, le but est d'afficher une liste d'objet dans un tableau.

    Le problème est que j'ai besoin de créer un observable d'array d'interface (j'ai besoin d'observer les modifications faite à un tableau d'objet afin de mettre à jour la vue)

    Pour la structure de mon code, j'ai un service qui contient l'array d'objet à affiché, qui est appelée dans la vue d'un de mes composant.

    Mon interface : 

     // Pour générer les interface à partir d'un json http://json2ts.com/
          export interface RENOUVELLEMENT {
            _PERSON_ID?: any;
            _ACTIVITY_ID: string;
            _UF: string;
            _PRESCRIPTEUR_RENOUVELLEMENT: string;
            _ISOLEMENT_CH_STANDARD?: any;
            _ISOLEMENT_COMMENTAIRE?: any;
            _MODIF_MESURE_SOIN_DT_TM: string;
            _MOTIF_MAINTIEN?: any;
            _DATE_RENOUVELLEMENT: string;
        }
    
        export interface ISOLEMENT {
            _PERSON_ID: string;
            _ACTIVITY_ID: string;
            _ACTIVITY_ID_FIN: string;
            _NOM: string;
            _PRENOM: string;
            _IPP: string;
            _IEP: string;
            _DATE_NAISSANCE: string;
            _SEXE: string;
            _DEBUT_SEJ: string;
            _FIN_SEJ: string;
            _PRESCRIPTEUR: string;
            _DEBUT_ISOLEMENT: string;
            _FIN_ISOLEMENT: string;
            _UF: string;
            _CHAMBRE_STANDARD: string;
            _RAISON_CHAMBRE_STANDARD: string;
            _PATIENT_INFORME_MODALITE: string;
            _FAMILLE_PREVENU: string;
            _MODE_HOSPI: string;
            _INDICATIONS: string;
            _MESURES_PREVENTIVES: string;
            _CIRCONSTANCES?: any;
            _MED_PRESCRI_SORTIE: string;
            _OBSERVATIONS_SORTIE?: any;
            _RENOUVELLEMENTS: RENOUVELLEMENT[];
        }
    
        export interface isolementInterface {
            ISOLEMENTS: ISOLEMENT[];
        }
    

    Mon service : 

    @Injectable()
    export class IsolementService {
        constructor(private http: HttpClient, private ref: ApplicationRef) { }
        
       public listeIsolements: Observable<isolementInterface>;
        
        // _______________________________________________________________________________________________________________________
        // Fonction appelant le webservice de récuparation des isolements
        getIsolements(mydate1:any, mydate2:any){
    
            let dateToSend = ""
    
            let headers =  {headers: new  HttpHeaders({ 'Content-Type': 'application/x-www-form-urlencoded'})};
            this.http.post('XXX.php', dateToSend, headers).subscribe((data: Observable<isolementInterface>) => {
                this.listeIsolements = data;
            });
        }

    Mon composant :

    export class IsolementComponent implements OnInit {
          
      // on injecte le service isolement
      constructor(public IsolementService : IsolementService, public myGestionUserService : GestionUserService) { }
        
        ngOnInit() {
        }
    }

    Actuellement j'ai l'erreur :

    TS2495 : Type 'Observable<isolementInterface>' is not an array or a string type

    Comment réussir à ce que ma variable listeIsolements soit un observable d'une liste d'objet ?

    Merci ! :)

    Résolu sur stackoverflow :

    https://stackoverflow.com/questions/51299776/declare-observable-array-of-object-in-angular



    -
    Edité par Koruru 12 juillet 2018 à 11:20:14

    • Partager sur Facebook
    • Partager sur Twitter

    [ANGULAR 6 ] Observable et Interface

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown