![](/img/trans.png)
[英]How to pass an array with id's from one component to another (angular)
[英]How do I pass an id and object on click of a button from one component to another component' s function in angular?
我的应用程序中有 2 个组件。 单击一个组件中的按钮时,我想调用另一个组件中的函数。 该函数将一个 id 作为参数并需要一个对象。 我可以使用 RXJS 从第一个组件发送 id 或对象,但不能同时发送两者。 这两个组件都是兄弟组件。 这是我的代码的样子。
组件 1:-
searchObject;
toggle1(id:number){
this.dashboardService.sendToggleEvent(id);
}
服务:-
sendToggleEvent(id:number){
this.toggleSubject.next(id);
}
getToggleEvent():Observable<any>{
return this.toggleSubject.asObservable();
}
组件 2:-
constructor(){
this.toggleEventSubscription =
this.dashboardService.getToggleEvent().subscribe((id)=>{
this.toggle2(id);
});
}
toggle2(id){
if(id == __){
api(searchObj)
}
toggle2 有一个 api,它需要一个名为 searchObj 的对象,该对象位于组件 1 中。每当调用 toggle1 并传递 id 但无法传递 searchObject 时,我都会调用 toggle2。
TIA。
您将需要一个服务和类型主题的财产
service.ts
mySub = new Subject();
componet1
this.myService.mySub.next({id:123,data:{}})
component2
this.myService.mySub.subScribe(event=>{
this.callfn(event.id,event.data)
})
没有代码将很难帮助您,但我会尝试。
所以你正在使用 RXJS,我的意思是可观察的。 因此,当您的第二个组件收到 id 或对象时,您可以调用该函数(在订阅内)。
observable.subscribe({ next(x) { callFunction(x) }, error(err) { console.error('something wrong occurred: ' + err); }, complete() { console.log('done'); } });
不要犹豫,看看文档: https : //rxjs.dev/guide/observable
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.