Visualizzazione dei risultati da 1 a 6 su 6

Discussione: [typescript]

  1. #1

    [typescript]

    Salve a tutti, sto cercando di avvicinarmi a typescript nel modo più rigido possibile (lo odio!)
    mi sto perdendo in quella che sembrava una cosa banale in javascript...
    Ho questa interfaccia che uso per mandare alle ApiService e comunicare col server.
    codice:
    export interface IRecapito {
        idTipoRecapito: number;
        recapito: string;
        preferito: boolean;
        archiviato: boolean;
    }
    
    let recapito:IRecapito;
    Ovviamente ho un form che ha per lo più lo stesso schema.
    Una volta con un bel
    codice:
    for(prop in form){
     if(prop in recapito){
       recapito[prop]=form[prop];
    }
    o qualcosa del genere.
    Ora usando una interfaccia che non è valorizzata come faccio? io vorrei valorizzarla al volo! E' possibile? o devo fare:
    codice:
    recapito.idtipoRecapito=form.idTipoRecapito
    recapito.recapito=form.recapito;
    ....
    Grazie
    Rino
    La fantasía, abandonada de la razón, produce monstruos imposibles; unida con ella es madre de las artes y origen de las maravillas.
    (Francisco Goya)
    ----------------------------------------
    http://www.mangioebevo.it
    http://www.definitives.org

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,288
    Quote Originariamente inviata da rinosan_76bis Visualizza il messaggio
    Ora usando una interfaccia che non è valorizzata come faccio? io vorrei valorizzarla al volo! E' possibile?
    Basta creare un oggetto specificando direttamente tutte le proprietà e i relativi valori, avendo cura di indicare quelli specificate nell'interfaccia (come minimo).

    TypeScript, un gioiello incompreso...
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    questa soluzione la conoscevo... volevo evitarla visto che sarebbe usato solo in 1 caso...
    La fantasía, abandonada de la razón, produce monstruos imposibles; unida con ella es madre de las artes y origen de las maravillas.
    (Francisco Goya)
    ----------------------------------------
    http://www.mangioebevo.it
    http://www.definitives.org

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,288
    Quote Originariamente inviata da rinosan_76bis Visualizza il messaggio
    questa soluzione la conoscevo... volevo evitarla visto che sarebbe usato solo in 1 caso...
    Usa i rest/spread operator, come indicato in questo articolo.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    Grazie ne ho imparato un pezzetto in più... ma proprio non ho capito come usarlo nel mio caso
    La fantasía, abandonada de la razón, produce monstruos imposibles; unida con ella es madre de las artes y origen de las maravillas.
    (Francisco Goya)
    ----------------------------------------
    http://www.mangioebevo.it
    http://www.definitives.org

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,288
    Quote Originariamente inviata da rinosan_76bis Visualizza il messaggio
    Grazie ne ho imparato un pezzetto in più... ma proprio non ho capito come usarlo nel mio caso
    Quando crei l'oggetto recapito, usa l'operatore ... per estrarre i singoli campi dall'oggetto form e creandoli quindi nell'oggetto di destinazione; supponendo che il nome dei campi rispecchi quelli definiti nell'interfaccia, dovresti aver risolto la problematica.

    Per esemplificare,

    codice:
    var recapito = {
    	...form
    };
    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.