2017-06-15 6 views
1

Ich würde gerne wissen, ob es eine Möglichkeit gibt, eine Komponente in jeder Komponente meiner eckigen Anwendung automatisch zu injizieren.Auto inject Komponente in jeder Komponente - Angular 2

Ich meine, wie eine "Eltern" Komponente, die Methoden können, ohne von anderen Komponenten aufgerufen werden, zu verwenden:

Import {Eltern} ...

Ich vermute, dieses won‘ Ist es dennoch möglich, eine andere Lösung für dieses Problem zu finden?

Wenn Sie sich fragen, warum ich das brauche, ist Becouse Ich muss auf jeder Seite einchecken, wenn ein Element auf dem lokalen Speicher existiert.

Vielen Dank!

+0

Haben Sie darüber nachgedacht, einen Shared Service zu erstellen? – Abrar

+0

Wenn Sie etwas nicht importieren, können Sie nicht darauf verweisen. Egal, ob Sie ein Dienstprogramm importieren, das in Ihrem Fall so klingt, als ob es funktioniert, oder einen Dienst einspeisen, Sie müssen die Funktion oder Klasse oder den Dienst oder etwas importieren. Es gibt keine Möglichkeit, Werte in jedes Modul "automatisch zu importieren", was irgendwie wie das klingt, was Sie wollen. –

+1

Was machen Sie, wenn der Artikel im lokalen Speicher existiert oder nicht? Sie möchten, dass dieser Check für jede Komponente magisch und transparent gemacht wird? –

Antwort

4

Warum nicht eine Basisklasse erstellen, die alle Ihre Komponentenklassen erweitern können. Dann können Sie den lokalen Speicherprüfcode in Ihre Bassklasse einfügen.

@Component({ 
    selector: 'mu-component', 
    templateUrl: './my-component.html' 
}) 
export class MyComponent extends LocalStorageCheckComponent {} 
+1

IMHO ist es unwahrscheinlich, dass Superklassen der beste Weg sind, nur etwas zu bringen (nach meinem Verständnis der OP-Frage) zu nichts mehr als einige Dienstprogramme (oder einen Dienst). –

+0

Keine schlechte Idee Dean. Aber das würde bedeuten, alle meine Komponenten zu bearbeiten, um die "extends" -Direktive hinzuzufügen. Ich habe mich gefragt ob es möglich wäre ein "Auto" zu injizieren ohne die Notwendigkeit jede einzelne Komponente meiner eckigen App zu bearbeiten. (deklariert es auf app.module/app.component Ebene kann sein) – Charles

Verwandte Themen