2016-06-02 19 views
5

Ad esempio: ho un componente che visualizza un elenco di post. Vengono recuperati tramite un servizio e sono tutti visualizzati in una tabella, una riga per post. Questo è il mio PostComponent.Angular2: come devono essere organizzati i componenti granulari?

Ora voglio anche modificare i post e includere un modulo per questo.

Devo aggiungere il modulo al mio PostComponent e utilizzare un componente per entrambi?

Devo aggiungere un nuovo componente PostForm in un nuovo file e inserirlo in PostComponent (o dove mai mi serve)?

Devo definire un secondo componente nello stesso file di PostComponent?

So che le domande sulle best practice tendono a essere downvoted ma sono molto curioso del tuo approccio e delle migliori pratiche. So che tutti e tre funzionano.

Grazie!

+1

Nel mio progetto, abbiamo la regola di scrivere 'componente' entro 300 righe. Creare un nuovo 'PostFromComponent' sarebbe una buona opzione – candidJ

risposta

3

Ci sono principalmente due tipi di componenti per costruire in angolare 2:

  • componenti percorribili
  • componenti nidificati

utilizzare un componente nidificato quando si dispone di funzionalità che è una parte di un altro "pagina". Ad esempio un componente che visualizza una valutazione a stelle o un blocco di indirizzi standard. Spesso questi sono riutilizzabili su più pagine.

Utilizzare un componente instradabile quando si desidera un modello che "rileva" tutto o una parte significativa di una pagina. Pertanto, se si dispone di un'applicazione con una pagina di benvenuto, una pagina di elenco di post, una pagina di dettaglio di post e una pagina di modifica di post, ognuno di questi sarebbe il proprio componente instradabile.

E come suggerito dal poster precedente ... date un'occhiata alla Guida allo stile nella documentazione Angular.

0

Non riesco a dare un senso al tuo caso d'uso concreto (non ho provato a farlo ;-)) ma in generale una componente Angolare come una classe dovrebbe fare una cosa e farla bene. Oltre a questo non c'è molto da considerare se si dovrebbe creare più o solo un componente. Di solito questo significa che più componenti sono migliori.

Angular2 style guide (Non ho trovato guide sulla granularità dei componenti, ma molte altre utili cose da non fare)
Aggiunto qui per una migliore visibilità. Grazie a @lexit per il suggerimento!

+1

Si potrebbe voler aggiungere la guida di stile nella risposta, perché non c'è altro da aggiungere (oltre a questo): https://angular.io/docs/ts/latest/guide/ style-guide.html Ho letto da qualche parte che è configurato e gestito da John Papa (https://github.com/johnpapa, che è ben noto per la sua Angular1 Style Guide tra le altre cose) e Minko Gechev (https: // github. com/mgechev) – lexith

Problemi correlati