sidemenu refresh through events

create service
ionic g service service name
import {Injectable} from '@angular/core';
import {Subject} from 'rxjs';

@Injectable({
    providedIn: 'root'
})
export class GlobalFooService {
    private fooSubject = new Subject<any>();
    publishSomeData(data: any) {
        this.fooSubject.next(data);
    }

    getObservable(): Subject<any> {
        return this.fooSubject;
    }
}
Now, you can subscribe in any component like app.component.ts:

@Component({
    selector: 'app-root',
    templateUrl: 'app.component.html',
    styleUrls: ['app.component.scss']
})
export class AppComponent {
    constructor(private globalFooService: GlobalFooService) {
        this.initializeApp();
    }

    initializeApp() {
        // other code
        this.globalFooService.getObservable().subscribe((data) => {
            console.log('Data received', data);
        });
    }
}

Now, you just have to emit the event from some other component:
@Component({
    selector: 'app-home',
    templateUrl: 'home.page.html',
    styleUrls: ['home.page.scss']
})
export class HomePage {
    constructor(private globalFooService: GlobalFooService) {
    }
    onSomeButtonClick() {
        this.globalFooService.publishSomeData({
            login: 'yes'
        });
    }
}

Comments

Popular posts from this blog

How to Add Firebase Analytics to Your NativeScript Mobile App

push multiple data in array(select and disselect items in array)