typescript - Hur man skickar data mellan komponenter som inte anropas i Angular 8


Jag är nybörjare i Angular men jag tror att detta är ett sätt att skicka data mellan komponenter i Angular med hjälp av @Input:

I föräldrakomponenten :

...
<app-child [childMessage]="parentMessage"></app-child>
...

I barnkomponenten :

...
@Input() childMessage: string;
...

Men i mitt fall,

Jag kan inte kalla på min komponentväljare som jag vill skicka.

Och hur skickar jag datan?

Ps: Vad jag menar med "Anropa" är att göra detta --> <app-child></app-child>

Svar #1

Du kan ha en delad tjänst mellan dessa två komponenter och sedan ställa in en variabel i den delade tjänsten från föräldrakomponenten och använda den i barnkomponenten, eller så kan du lägga till getter- och setter-funktioner i tjänsten.

Svar #2

Du försöker skicka in ett komponentvärde med den struktur du har, vilket jag gissar inte existerar. Använd antingen följande för att skicka in strängen.

<app-child [childMessage]="'parentMessage'"></app-child>

Eller i din förälder deklarera den variabel du försöker skicka in så här.

public parentMessage = "parentMessage";

Jag tror att detta är problemet eftersom syntaxen ser korrekt ut.

Om du har problem med att rendera komponenten med dess selektor så här <app-child></app-child>, ta en titt på detta stackblitz från Angular-dokumentationen eftersom exempel på användning kan hittas här.

Detta skulle sannolikt åtgärdas genom att ha deklarationer i dina moduler korrekt inställda.