Передача данных между angular компонентами - PullRequest
0 голосов
/ 25 мая 2020

У меня есть component1, который импортирует component2 и использует его функции. эта функция вызывает диалоговое окно из компонента 2.

export class component1 implements OnInit {
  @Output() testVar= new EventEmitter();

    openDialog(){
    this.testVar.emit(200); 
    const dialogRef = this.dialog.open(Component2, {

Теперь я хочу каким-то образом отправить переменную этому компоненту. Итак, когда второй компонент OnInit может получить мою переменную, что-то вроде

export class Component2 implements OnInit {
 @Input() testVar;

somefunc() {
onUpload(testVar) {
  console.log(testVar) ;
}

Не могли бы вы написать какой-нибудь пример или дать мне ссылку? Проблема в том, что я хочу сделать это между файлами .ts без html.

1 Ответ

2 голосов
/ 25 мая 2020

Вы можете передать https://material.angular.io/components/dialog/api#MatDialogConfig в dialog.open(Component2, { data: {testVar:'Hello'}})

 export class Component2 implements OnInit {
      constructor(  @Inject(MAT_DIALOG_DATA) public data: {testVar:string})

     somefunc() { 
         console.log(this.data.testVar) ;
      }
...