Sono in un progetto in cui vogliamo comporre un sacco di "caselle informative".
Queste caselle (diciamo che sono per lo più diversi tipi di tabelle) dovrebbero essere facilmente incluse in diverse pagine e anche in diversi progetti (includiamo i componenti come una libreria in un progetto angolare di js, quindi un requisito angolare). Nel lungo periodo questi componenti potrebbero anche essere disponibili come API per altri sviluppatori da utilizzare.
Finora le direttive includono il proprio modello, uno stile css comune + uno stile unico per il componente, una serie di file testdata.
Quindi la mia domanda è fondamentalmente: può essere un buon approccio? È errato fare in modo che le direttive caricino effettivamente i dati stessi o devo sempre passare loro i dati?
Il motivo per cui voglio che la direttiva carichi i dati stessi è che includo i testdata nella libreria che consentono di testare i componenti sul posto (ad esempio su un dashboard) senza dover implementare i dati "reali".
Inoltre, i componenti avranno almeno tre stati (caricamento, dati difettosi, caricamento terminato) che, a mio avviso, dovrebbero trovarsi nella direttiva, e di nuovo richiedono che la direttiva carichi i dati stessi.
Il mio pensiero era di passare (per testare):
<my-directive test-data="testfile.json">
<my-directive load-data="/myurl">
È un buon approccio. In caso affermativo, dovrei inserire i dati nel controller di controllo e utilizzare alcuni comuni "data-fetching-service" per tutti i componenti?
Capisco che questa "domanda" è più una passeggiata di qualsiasi altra cosa, ma è davvero difficile prendere una decisione di progettazione che abbia una conoscenza così limitata di angularjs, quindi mi sto sforzando!