Angolare 5- Dove dovrebbe sedersi il codice di logout?

-3

Voglio creare la funzionalità di disconnessione in Angular 5. La funzione di logout conterrà lo pseudo codice seguente:

  1. Cancella token JWT autenticazione di archiviazione locale
  2. Reindirizza alla pagina di accesso

La mia domanda è; dove dovrebbe essere il codice di cui sopra; In un componente o in un servizio?

Credo che un servizio dovrebbe contenere la logica che interagisce con il backend e il componente dovrebbe contenere la logica di presentazione (correggimi se ho torto).

Poiché il codice di logout non è una logica che riguarda il back-end, dovrebbe idealmente sedersi in un componente. Ma se dovessi eseguire la stessa operazione del logout da qualche altra parte, sarà più facile chiamare il servizio ed eseguire il codice piuttosto che scrivere nuovamente le stesse due linee in qualche componente diverso.

Quindi dove dovrebbe essere veramente il codice?

    
posta Vinit Divekar 12.06.2018 - 23:24
fonte

1 risposta

3

La documentazione è piuttosto esplicita a riguardo: link

A component should not need to define things like how to fetch data from the server, validate user input, or log directly to the console. Instead, it can delegate such tasks to services. By defining that kind of processing task in an injectable service class, you make it available to any component. You can also make your app more adaptable by injecting different providers of the same kind of service, as appropriate in different circumstances.

In base a ciò, va bene, anche incoraggiato a incapsulare anche la tua logica non connessa alla rete in servizi.

Quindi, sì, dovresti mettere la tua logica di logout in un servizio e chiamarla dai componenti.

    
risposta data 12.06.2018 - 23:50
fonte

Leggi altre domande sui tag