带有getClickEvent的角度问题主题>>

问题描述 投票:0回答:1

我必须使用Angular中的组件,一个使用我的应用程序模板,而另一个使用模式。我已经实现了共享服务来设置和获取点击事件,如下所示:

@Injectable({
providedIn: 'root',
})
export class SharedServiceService {
  constructor() {}

  private subject = new Subject<any>();
  sendClickEvent(id) {
    this.subject.next();
  }
  getClickEvent(): Observable<any> {
    return this.subject.asObservable();
  }
}

当我单击我的应用程序中一个在参数中获得ID的按钮时,我想打开模态:

<a (click)="onOpenModal(pension.id)">  //HTML of my template
  onOpenModal(id) {
this.sharedService.sendClickEvent(id); //.ts of my template
  }

但是问题是我想获取此ID,在组件模式下创建一个新函数,在我的模式HTML中调用她,然后将该函数重新发送到我的主要组件中:

    export class ModalSupprimerComponent implements OnInit {
  clickEventsubscription: Subscription;
  constructor(private sharedService: SharedServiceService) {
    this.clickEventsubscription = this.sharedService.getClickEvent(id).subscribe(() => {}); //problem here with id
  }

  onDelete(id) {
    this.sharedService.sendClickEvent(id);
  }
  ngOnInit() {}
}

而且我的模式HTML就是这样:

    <button type="button" class="btn btn-primary" aria-label="Confirmer l'abandon" (click)="onDelete(id)">

我必须使用Angular中的组件,一个使用我的应用程序模板,而另一个使用模式。我已经实现了共享服务来设置和获取点击事件,如下所示:@Injectable({provedIn:'root'...

angular service
1个回答
0
投票
sendClickEvent(id) { this.subject.next(id); // <-- push id here }
© www.soinside.com 2019 - 2024. All rights reserved.