2014-04-17 22 views
5

Questo può sembrare una domanda stupida ma ho avuto chiedere ...E 'possibile iniettare una dipendenza "ovunque" automaticamente?

ho qualcosa di simile a questo:

APP.constant('MyGlobalConstants', { 

}); 

C'è un modo che io possa iniettare MyGlobalConstants automaticamente in tutti i controllori, i servizi, le fabbriche in modo da non doverlo fare manualmente per controller/servizio/fabbrica?

Queste costanti verranno utilizzate quasi ovunque e sarebbe un modo per evitare di iniettarle manualmente ovunque.

È possibile in qualche modo o devo semplicemente ignorare l'idea?

+0

ho lo stesso identico problema, sei stato in grado di trovare un soluzione a questo? – JuniorDev

risposta

0

Ciò che si descrive suona come un cross-cutting concern

Il miglior modello per questo è DI the interceptor pattern. È possibile utilizzare questo ad esempio con lo decorator pattern se non si desidera che tutte le classi vengano intercettate.

L'ho usato per le preoccupazioni trasversali come la cache e la registrazione, ma posso vedere alcun motivo per cui non posso farlo per voi costanti classe

+0

Questo è davvero interessante. Tuttavia, non ho idea di come implementarlo in AngularJS. Probabilmente non ho fatto la domanda giusta ... –

+0

Mi dispiace, non ho visto il riferimento angolare di js. La mia risposta era basata solo sui principi dell'iniezione di dipendenza. Direi che la soluzione migliore sarebbe creare uno spazio dei nomi in un file js e farlo riferimento in tutte le tue pagine. – KerSplosh

+0

Questo non è proprio il modo con Angular. –

Problemi correlati