Úhlové: jak sdílet data z vlastní složky s app-složky (app-root)

0

Otázka

Aplikace-Komponenty-Html: (což je v Index.Html jako <app-root></app-root> )

<h2> {{currentOrNextWeek}} week from {{dateMonday}} to {{dateFriday}} </h2>
<div class="container"> <router-outlet></router-outlet> </div>

Vlastní-Component-TS: Je definována v tras -> router.modul.ts a kromě mnoha jiných vlastních komponent má tabulka zobrazující informace realizováno pomocí dat ze služby, která odešle get-požadavky na API. Takhle:

this.configService.getData.subscribe(data => organizeData(data))

Data sama o sobě má informace, jako je "Týden = Aktuální", "DateOfMonday=01.01.2021" (vše, co je řetězec)

Jak mohu předat data z custom.komponenty do aplikace.součástí? Snažil jsem se EventEmitter, ale I používat <router-outlet>. Jak jsem pochopil správně posloupnost začíná aplikace-součásti, ale první GetData volání ve vlastní komponenty, ale titul je v aplikaci-komponenty-html

angular components typescript
2021-11-18 18:01:51
3

Nejlepší odpověď

1

Vaše otázka se zdá být, jak k výměně nemovitostí mezi dvěma komponenty, které jsou dynamické a nemusí to být rodič dítěte. V tom případě komunikace prostřednictvím Služby se zdá být nejlepší způsob, jak jít.

Můžete vytvořit službu s názvem AppCommunication s majetkem tittle = new subject() to může mít pozorovatelný, který je přihlášen na aplikace, složky a může být aplikován do vlastní složky, takže si můžete vyvolat hodnoty z "další".

To může být použit tam, kde někdy budete chtít nastavit tak, od.

2021-11-18 18:34:23

hej! jo, měl jsem stejný nápad, ale na první načtení stránky, název je "týden". Možná jsem něco chybí, protože si myslím, že vlastnost se nazývá první v app-složky, ale je to první set po vlastní komponentu, dokončení.
Dgotin

Ano, protože titul by být nastavena pouze, když je api z vlastní komponentu, dokončení a spustí událost, aby ji aktualizovat.
vaira
0

nemůžete odeslat data pomocí RXJS, behaviourSubject?

na některé služby:

varbSubject$ = new BehaviorSubject(<string>); 

na vaše aplikace komponenty:

bSubject$ = yourservice.varbSubject$
bSubject$.next("b");

na vlastní neznámé prvek =>

bSubject$ = yourservice.varbSubject$
bSubject$.subscribe(value => {
  console.log("Subscription got", value); 
}); 
2021-11-19 01:28:06

A vice versa? Je to možné? Protože Aplikace-Složkou je první složka, musí být zatížení a první požadavek je splněn ve vlastní komponentu a potřebuji info z této žádosti pro moje Aplikace-Komponenty
Dgotin

díky!!! Vaše odpověď vyřešil můj problém! Bohužel, nemohu dát kladný hlas, ale jednu vám dám později :)
Dgotin
0

Podívejte se na @ThiagoNascimento příspěvek hned pod tím vyřešil můj problém!
Odkaz: https://stackoverflow.com/a/70028739/17449921

2021-12-05 13:48:05

V jiných jazycích

Tato stránka je v jiných jazycích

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................