2017-05-03 3 views
4

Kurz gesagt, ich brauche eine "Warenkorb" wie Beziehung von einer Komponente zum Rest der Website. Ich sage "shopping cart like", weil es im Grunde eine Liste von Bedürfnissen ist, die vom Benutzer beim Browsen generiert werden. Es wird keine Preise oder Steuerlogik haben, aber jede Art von Bedarf wird seine eigenen sub-parameters einzigartig von den anderen, die ich mitten in der Erstellung interfaces für haben. Ich dachte, die needs component würde Typen von any verwenden, um die eingehenden Datenblöcke zu akzeptieren.Weitergabe von Daten zwischen Komponenten ohne @ Input/@ Output

Von jetzt an erstellen massive Autobahnen von @Inputs und @Outputs durch den gesamten Baum, nur um über einen Zweig zu gehen und wieder eine Ebene scheint übermäßig langweilig. Ich dachte, es wäre gut, wenn ich eine Funktion erstellen könnte, die direkt an die needs component oder vielleicht eine Klasse, um alles zu schieben und ein Abonnement für sie in der needs component machen.

stelle ich einen Filter auf meiner Suche bis 1. Februar - jetzt und fand diese Share data between components using a service in Angular2

Es wirft ein wenig Licht auf die Tatsache, dass es möglich ist, aber ich weiß nicht, wie soll ich gehen über Ich weiß nicht, wie ich daraus eine Antwort ableiten soll.

Ich habe keinen Code für den Versuch gefunden, weil ich nicht weiß, was ich versuchen soll, also habe ich nur meine Komponenten. Wenn ich sehe, dass ich nach einer Möglichkeit frage, eine Beziehung zu erstellen, die funktioniert, egal, wo die Dinge auf den Komponentenbaum fallen, sehe ich keinen Sinn darin, Komponenten zu veröffentlichen, die im Grunde nur sagen, um zu zeigen, dass sie funktionieren. Wenn du meinen Code immer noch sehen möchtest, poste ich ihn, aber es ist nicht viel lol. Ich benutze immer noch Angular2 und kann Node und NPM momentan nicht aktualisieren, um 4 zu verwenden. Irgendwelche Informationen darüber, wie dies zu erreichen ist, würden sehr geschätzt werden.

+0

Ich würde einen Dienst benutzt hat. Die tiefen Ketten von besonders '@Output()' 's den ganzen Weg bis den Baum sind nicht erreichbar. Angular saugt bei dieser –

+0

Verwendung ngrx - https://github.com/ngrx –

+0

^^ Verwenden Sie ein NGRX-Speichermuster -> http://bodiddlie.github.io/ng-2-toh-with-ngrx-suite/ – Milo

Antwort

2

Nutzen Sie die Angular Services, die Daten zwischen den Komponenten übertragen, und ebenso einfach wie Input und Output in Spaghetti von Event-Emittern stecken bleiben. Sie können auch den ngrx-Store für Daten an einem Ort betrachten. aber ich würde vorschlagen, dass Sie ngrx nur im Falle von mittleren bis großen Anwendungen verwenden, da es ein wenig Code summiert.

Mein Repo, die beide diese Konzepte in Details https://github.com/rahulrsingh09/AngularConcepts

Verwandte Themen