我正在使用带有离子骨架的角膜。为了从一个组件导航到另一个组件,我使用了离子导航控制器。 我想要的就是无论加载哪个组件,它都会在公共位置或应用程序组件中给出该组件的名称
答案 0 :(得分:1)
您可以将全局服务与rxjs一起使用,以跟踪任何组件的活动,例如创建,销毁或其他活动
TrackerService
@Injectable({providedIn:"root"}) // root
export class TrackerService {
private _sub = new Subject();
constructor() { }
public post(data:any) { // send a data to subscriber
this._sub.next(data)
}
public subscribe(fx:any) : Subscription { // tracker activity
return this._sub.subscribe(fx);
}
}
在任何组件中,只要注入init,销毁或在某些情况下(例如登录...),就可以注入跟踪器服务器并发布数据。
例如
constructor(private _tracker:TrackerService) { }
ngOnInit() {
this._tracker.post({message:'FirstComponent is active'}); // send
}
ngOnDestroy() {
this._tracker.post({message:'FirstComponent is deactive'});
}
并且我已经在这样的应用程序组件上订阅了跟踪器服务
ngOnInit() {
this._tracker.subscribe(result => console.log(result)); // arrived
}
tracker订阅方法返回一个 subscription 对象,以便您可以 以后退订