Di quante visualizzazioni e controller ho bisogno?

1

Ho fatto un'app AngularJs piuttosto complessa, con più schede annidate, con più viste nidificate e amp; controller, necessario ng-router, ed è stato abbastanza difficile da implementare, poiché la codifica basata su browser non è la mia solita cosa.

Ora mi è stato chiesto di codificare qualcosa per un amico. Doveva avere una colonna di pulsanti in basso a sinistra e quando si fa clic su un pulsante, i contenuti corrispondenti devono essere mostrati sulla pagina.

Concettualmente, questo sembra lo stesso del progetto precedente (anche se non è ancora chiaro se ci sarà qualche nidificazione).

I potrebbe avere una sola vista, con un singolo controller e diversi <div> s che posso ng-hide e ng-show , ma qualcosa mi fa pensare che dovrei usare più viste e amp; controller, anche se non ne sono sicuro.

Come devo implementarlo e perché?

    
posta Mawg 12.07.2015 - 08:18
fonte

2 risposte

1

In generale, ritengo sia opportuno tenere presente la separazione delle preoccupazioni . Non esitate a creare nuove visualizzazioni e nuovi controller. Se definisci correttamente la responsabilità di ciascun controller, alla fine il tuo codice è molto più facile da mantenere.

Nel tuo caso specifico, se non lo hai già fatto, dai un'occhiata alle direttive in AngularJS. Sono abbastanza ben spiegati in questo corso fornito da Google.

    
risposta data 12.07.2015 - 11:08
fonte
1

Come afferma la risposta precedente, la separazione delle preoccupazioni è una buona idea. Nel vostro contesto, ciò significa fondamentalmente raggruppare il codice correlato in controllori separati, piuttosto che raggruppare in base al modello di progettazione che sono tutte operazioni del controllore. Ciò significa che se la tua applicazione deve essere sottoposta a refactoring o parti riutilizzate in qualche modo, non dovrai attraversare un doloroso processo di estrazione. Significa anche che le persone che vengono dopo di te per mantenere il codice non devono comprendere un controller monolitico.

    
risposta data 13.07.2015 - 03:11
fonte

Leggi altre domande sui tag